黄鳝

django eel是一个用于html gui应用程序的django应用程序,具有简单的python/js互操作。它是Eel的移植版本。

回购分行master:django鳗鱼的master分支

eel master:与Eel/master保持同步

要求Django(建议设置为>=2.0.7)

频道(>=2.1.2推荐)

gevent(>=1.3.4推荐)

开始

安装

从github下载django eel包并安装:python setup.py install

或通过pip安装:pip install git+https://github.com/seLain/django-eel

创建演示项目

创建空的django项目:django-admin startproject demo

创建示例django应用程序:django-admin startapp example

将channels、django eel和example添加到demo/settings.pyINSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','channels','django_eel','example',]

在demo/settings.py中设置asgi_应用程序。这是渠道的要求。WSGI_APPLICATION='demo.wsgi.application'ASGI_APPLICATION="demo.routing.application"

在demo项目根目录下添加routine.py。routine.py将websocket请求路由到eelconsumer。fromchannels.routingimportProtocolTypeRouter,URLRouterfromdjango.conf.urlsimporturlfromdjango_eel.consumersimportEelConsumerapplication=ProtocolTypeRouter({# (http->django views is added by default)"websocket":URLRouter([url(r"^eel$",EelConsumer),# do not alter this line]),})

分别配置demo\urls.py将http请求路由到eel和example。urlpatterns=[path('admin/',admin.site.urls),url(r'^eel/',include('django_eel.urls')),# do not alter this lineurl(r'^example/',include('example.urls')),# set by your app name]

这是配置部分。现在我们添加一个helloword示例。

创建模板并查看

创建example\templates\example\hello.html:

Hello, World!eel.expose(say_hello_js);// Expose this function to Pythonfunctionsay_hello_js(x){console.log("Hello from "+x);}say_hello_js("Javascript World!");eel.say_hello_py("Javascript World!");// Call a Python function

Hello, World!

这个hello.html几乎与原始的Eel示例相同,只是请求eel.js。

然后我们创建视图fromdjango.shortcutsimportrenderimportdjango_eelaseel# initialize eeleel.init('example/templates/example')############################ Hello example###########################defhello_page(request):# accept request for hello.htmlreturnrender(request,'example/hello.html')@eel.exposedefsay_hello_py(x):print('Hello from%s'%x)eel.say_hello_js('Python3 and Django World!')# call js function############################ Open local browser###########################eel.start('example/hello',size=(300,200))# optional for off-line browsing

最后,我们必须设置example\urls.py来处理对示例页面的请求。fromdjango.conf.urlsimporturlfrom.viewsimporthello_pageurlpatterns=[url(r'^hello$',hello_page),]

运行演示

只需像往常一样运行django项目:python manage.py runserver

如果在视图中添加了这一行,则应弹出浏览器窗口。eel.start('example/hello',size=(300,200))

您还可以通过浏览器访问hello示例:http://localhost:8000/example/hello

就这样。所有行为基本上都与原始的Eel相同。

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

python eel_Python django-eel包_程序模块 - PyPI - Python中文网相关推荐

  1. python迅雷sdk_Python anthunder包_程序模块 - PyPI - Python中文网

    安敦达(又名沙发螺栓Python) anthunder(ant thunder)是一个用python编写的沙发螺栓库. 它支持通过"sofa bolt+protobuf"协议调用r ...

  2. python pip gpl_Python PICOS包_程序模块 - PyPI - Python中文网

    圆锥优化解算器的python接口 picos是一个用户友好的python api,可用于多个圆锥和整数编程. 解算器,非常像YALMIP或 CVX在MATLAB下面. picos允许您以高级别输入数学 ...

  3. python程序控制homeassistant_Python pyps4-homeassistant包_程序模块 - PyPI - Python中文网

    PlayStation 4控制台的Python控件. |构建状态pypiversion pypipyhonversions 说明 基于node.js包ps4 waker的完整python实现. 这是p ...

  4. python version compatibility_Python compatibility-lib包_程序模块 - PyPI - Python中文网

    A library that calls the compatibility server to get compatibility information about Python packages ...

  5. python nlp data_Python nlpaug包_程序模块 - PyPI - Python中文网

    NLPAUG 这个python库帮助您为机器学习项目增加nlp.访问此简介了解Data Augmentation in NLP.Augmenter是增广的基本元素,而Flow是将多个增广器组合在一起的 ...

  6. python安装dill_Python dill包_程序模块 - PyPI - Python中文网

    关于dill dill扩展python的pickle模块以进行序列化和反序列化 python对象的大多数内置python类型.串行化 是将对象转换为字节流的过程,反之亦然 其中之一是将字节流转换回py ...

  7. python中font_Python ColorFont包_程序模块 - PyPI - Python中文网

    控制台打印彩色字体 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 浅绿色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 ...

  8. python data frame_Python dataframer包_程序模块 - PyPI - Python中文网

    数据框 尝试将任何文件加载到pandas数据帧中, 以最少的配置, 关注生物信息学 示例 通常,您将从磁盘读取文件(open('my-file.txt', 'rb')). 但是字节流在这里更简单.&g ...

  9. python apk fr_Python fr包_程序模块 - PyPI - Python中文网

    fr是一个命令行工具,可以用Delicious打印免费资源 口味. fr是free,而htop是top. 写这篇文章是因为不喜欢赤裸裸的骨头,很难阅读. free命令. 我想要一些更-图形化的东西. ...

  10. python sanic openapi_Python sanic-openapi3e包_程序模块 - PyPI - Python中文网

    Sanic OpenAPI V3e 对sanic的openapi v3支持.记录并描述所有参数, 包括Sanic路径参数.Python3.5+ 安装pip install sanic-openapi3 ...

最新文章

  1. UI组件之AdapterView及其子类(二)GridView网格视图的使用
  2. Nginx命令与配置详解
  3. PowerShell与活动目录
  4. Java中的NIO非阻塞编程
  5. 最近打算再写一个 局域网聊天软件
  6. 参数估计法——最大似然估计和贝叶斯参数估计
  7. 大视场相机prnu测试标准_史上最全,阻燃性能测试方法、标准大揭秘
  8. Java后端学习路线
  9. Web实现:仿电子仪器网站 含HTML CSS部分 内含效果图
  10. Vue3.0中文文档(Vue3 + TS学习资源路线)
  11. 成都盛铭轩:产品主图提升转化率
  12. git查看历史记录及修改内容
  13. 魔兽争霸平台显示服务器地址错误,发现(魔兽争霸出现错误的解决方法)
  14. html标签属性大全(囊括CSS、CSS3、H5、XML等)
  15. 青龙面板2.8版本+Ninja 保姆级 服务器安装jd代挂教程——(一)
  16. 云计算特点与发展方向
  17. MySql的一些常见笔试题(1)
  18. android rom签名 作用,Ubuntu下折腾Android笔记(一)——ROM 签名 | 翅膀~
  19. win10 任务栏图标变为空白、图标丢失的解决方法
  20. eclipse 更换国内镜像

热门文章

  1. Win11电脑怎么开启色盲模式
  2. ❤️UI自动化轻松解决微信手工群发消息的烦恼❤️
  3. Python编程:使用wkhtmltopdf将html网页转成pdf文件
  4. java简历项目经验描述,2021大厂面试合集
  5. linux操作系下RAR的使用
  6. 本地事务与分布式事务
  7. YOLOV5训练数据集过程中特殊问题记录
  8. 我的世界android官方版,我的世界Minecraft中国版官方网站——你想玩的,这里都有...
  9. C语言明显优于其它高级语言
  10. 本周AI热点回顾:机器狗要去福特当工程师;人脸黑产攻击一秒被擒;德扑AI大比分击败顶尖人类选手