met*_*mit 15 python django web-applications livereload
如何自动监视.py,.js和其他源代码文件以重新启动Django(或其他任何相关的)应用程序并在源更改时刷新浏览器?这可以在Rails中使用guard,在JS应用程序中使用grunt-contrib-watch和随附的livereload浏览器插件.如何为Django等Python Web应用程序执行此操作?
我用我的Django服务器启动
foreman start
Run Code Online (Sandbox Code Playgroud)
这是我的Procfile:
web: newrelic-admin run-program gunicorn app.wsgi
Run Code Online (Sandbox Code Playgroud)
正如Heroku/Newrelic文档或通常所说的那样
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
该runserver
方法确实在.py源更改时重新启动服务器,但不是浏览器并且不看其他文件 - 我可以在它旁边运行后卫,但是我有两个进程我必须要处理,而grunt或rake提供统一接口.我想知道在Python开发人员中这样做的推荐方法是什么?
nmg*_*eek 19
您不需要浏览器扩展即可完成自动刷新.看看https://github.com/tjwalch/django-livereload-server.
我在/sf/answers/2587287111/上发布了更广泛的答案
它的工作原理是使用manage.py命令(服务器)来监视.js和其他静态文件.服务器通过websockets向浏览器发送信号.每个页面都注入了一些客户端代码.注入的代码响应信号并刷新浏览器.
由于对所有显式刷新感到沮丧,我为 Firefox 和 Chrome 创建了一个浏览器扩展来自动执行此操作。该扩展程序可与您添加到 INSTALLED_APPS 中的应用程序列表中的 Django 应用程序配合使用。您可以在github 存储库中了解更多信息。
尽管该存储库具有完整的源代码,但扩展也可以在相应的网上商店中找到。只需搜索“Django 自动刷新”即可。有了这些,您只需将应用程序复制到我们项目的文件夹中,并通过 INSTALLED_APPS 包含它。我想添加一个 pip 设置脚本,但还没有时间去做。
HTH。如果这听起来像是自我推销,我深表歉意。
小智 5
安装此django应用程序:
pip install django-livesync
Run Code Online (Sandbox Code Playgroud)
在您的django设置文件上,添加以下内容:
INSTALLED_APPS = (
'...',
'livesync',
'django.contrib.staticfiles',
'...',
)
MIDDLEWARE_CLASSES = (
'livesync.core.middleware.DjangoLiveSyncMiddleware',
)
Run Code Online (Sandbox Code Playgroud)
如果要使用,请当心在“ django.contrib.staticfiles”之前注册“ livesync”。
现在,只需启动您的开发服务器:
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
查看此以获取更多详细信息:https : //github.com/fabiogibson/django-livesync
归档时间: |
|
查看次数: |
30720 次 |
最近记录: |