黄鳝
django eel是用于html GUI APP的django APP应用程序,具有简单的python/js互操作性。 这是Eel的移植版。
回购分行master:django鳗鱼的master分支
正在与Elmaster:Eel/master同步
请求Django (建议设置为gt;=2.0.7 )
频道;=2.1.2推荐)
Gevent(gt;=1.3.4推荐)
开始
安装
从github下载并安装django eel包: python setup.py install
或通过pip安装: pipinstallgit https://github.com/selain/django-eel
创建演示项目
创建空的django项目: django-admin startproject demo
创建示例django APP应用程序: django-admin startapp example
将channels、django eel和example设置为demo/settings.py installed _ apps=[ ' django.contrib.admin ',' django.contrib.aapled 添加到' django.contrib.admin '中' django.contrib.sessions ',' django.contrib.messages ',' django.contrib.stastion
在demo/settings.py中设置asgi _ APP连接。 这是渠道的要求。 wsgi _ application=' demo.wsgi.application ' asgi _ application=' demo.routing.application '
在demo项目根目录下添加routine.py。 routine.py将websocket请求路由到eelconsumer。 from channels.routingimportprotocoltyperouter, urlrouterfromdjango.conf.urlsimporturlfromdjango _ eel.consumersimporteelconsumerapplication=protocoltyperouter () cket ) :URLrouter([URL(r(^EEL$ ),EelConsumer ),#donotalterthis ) ) ) )
分别配置demourls.py以将http请求路由到eel和example。 URLpatterns=[path(admin/',admin.site.urls ),URL(r ) ^EEL/',include ) django_EEL.URLS ' )
这是配置部分。 添加helloword的例子吧。
创建并显示模板
创建exampletemplatesexamplehello.html :
你好,世界! El.Expose(Say_Hello_js ); //exposethisfunctiontopythonfunctionsay _ hello _ js (x ) console.log(hellofrom'x ); }say_Hello_js(JavaScriptworld!' ); El.say _ hello _ py (JavaScript world! ' ); //Call a Python function Hello,World!
此hello.html与原始Eel示例大致相同,但您正在请求eel.js。
然后是视图from django.shortcutsimportrenderimportdjango _ eelaseel # initializeeleel.init (example/templates/example ' ) ##defHello_page(request ) 3360 # acceptrequestforhello ' example/hello.html ' ) @EEL.exposedefsay_hello_py(x calljsfunction # # # # # # # # # # # # # # # # # # # # # openlocalbrowser # # # # # # # # # # openlocalbrowser # # # # # # # # # # # # # # # # # # # # # # # #
最后,必须设置exampleurls.py才能处理对示例页面的请求。 from django.conf.urlsimporturlfrom.viewsimporthello_pageurl patterns=[ URL (^ hello $ (,hello _ page ) ] ]
举行示威
您只需像往常一样运行django项目: python manage.py runserver
如果将此行添加到视图中,则必须弹出浏览器窗口。 El.start(Example/Hello ),size=(300,200 ) ) ) ) ) ) )。
也可以通过浏览器访问hello示例。 http://localhost :8000/example/hello
就这样。 所有动作基本上与原来的Eel相同。
欢迎来到QQ群--: 979659372
推荐使用PyPI第三方库