我们是否在 django 中有一些包或模块,通过它我们可以在编辑代码时看到我们在 django 中的 html 文件的实时变化?
Do we have some package or module in django through which we can see real-time changes of our html files in django as we edit the code?
我们在 Node 中有 lite-server 来监控我们文件的实时变化,我们在 Django 中有类似的东西吗?
是的,有一种方法可以实时重新加载(实时服务器)。
This django app 添加了一个管理命令,用于启动 livereload 服务器监视所有静态文件和模板,以及一个自定义 runserver 命令,用于在开发服务器重启后准备就绪时发出 livereload 请求。
安装
安装包:
$ pip install django-livereload-server
将'livereload'添加到INSTALLED_APPS,如果使用'django.contrib.staticfiles'
之前:
INSTALLED_APPS = (
...
'livereload',
...
)
将'livereload.middleware.LiveReloadScript'
添加到MIDDLEWARE_CLASSES(可能在最后):
MIDDLEWARE_CLASSES = (
...
'livereload.middleware.LiveReloadScript',
)
或 Django >= 1.10 的中间件:
MIDDLEWARE = [
...
'livereload.middleware.LiveReloadScript',
]
如果 DEBUG 设置打开,这会将 livereload.js 脚本注入您的网页。
配置
如果您需要 livereload 服务器使用与默认 127.0.0.1 和 35729 不同的主机和端口,请通过在 settings.py.
中设置 LIVERELOAD_HOST 和 LIVERELOAD_PORT 来指定它们
用法
启动 livereload 服务器:
$ python manage.py livereload
保留 livereload 服务器 运行。
照常启动 django 开发服务器(在另一个控制台中):
$ python manage.py 运行服务器
在浏览器的地址栏中,通过执行以下操作访问您的网络应用程序:
127.0.0.1:8000 或 localhost:8000
现在每次您在编辑器中点击保存时,django-development-server/livereload-server 会自动更新静态文件
自定义
默认情况下,template 和 staticfiles 目录都会被监视。
您可以使用以下方法忽略模板目录:
$ ./manage.py livereload --ignore-template-dirs
或静态文件目录使用:
$ ./manage.py livereload --ignore-static-dirs
您可以忽略文件扩展名:
$ ./manage.py livereload --ignore-file-extensions=.less,.scss
额外文件 and/or 可以添加用于监视更改的路径作为位置参数。默认情况下,livereload 服务器监视静态文件查找器和模板加载器找到的文件。
$ python manage.py livereload path/to/my-extra-directory/
这将从 --ignore-template-dirs 和 --ignore-static-dirs 忽略的路径中排除。
可以使用 --host 和 --port 选项覆盖主机和端口。
$ python manage.py livereload --host=myhost.com --port=9090
runserver 命令 python manage.py runserver 还接受三个附加选项:
--nolivereload
禁用 livereload 功能
--livereload-host
覆盖默认和设置文件指定的主机地址
--livereload-port
覆盖默认和设置文件指定的端口
我们在 Node 中有 lite-server 来监控我们文件的实时变化,我们在 Django 中有类似的东西吗?
是的,有一种方法可以实时重新加载(实时服务器)。
This django app 添加了一个管理命令,用于启动 livereload 服务器监视所有静态文件和模板,以及一个自定义 runserver 命令,用于在开发服务器重启后准备就绪时发出 livereload 请求。
安装
安装包:
$ pip install django-livereload-server
将'livereload'添加到INSTALLED_APPS,如果使用'django.contrib.staticfiles'
之前:
INSTALLED_APPS = (
...
'livereload',
...
)
将'livereload.middleware.LiveReloadScript'
添加到MIDDLEWARE_CLASSES(可能在最后):
MIDDLEWARE_CLASSES = (
...
'livereload.middleware.LiveReloadScript',
)
或 Django >= 1.10 的中间件:
MIDDLEWARE = [
...
'livereload.middleware.LiveReloadScript',
]
如果 DEBUG 设置打开,这会将 livereload.js 脚本注入您的网页。
配置 如果您需要 livereload 服务器使用与默认 127.0.0.1 和 35729 不同的主机和端口,请通过在 settings.py.
中设置 LIVERELOAD_HOST 和 LIVERELOAD_PORT 来指定它们用法 启动 livereload 服务器:
$ python manage.py livereload
保留 livereload 服务器 运行。
照常启动 django 开发服务器(在另一个控制台中):
$ python manage.py 运行服务器 在浏览器的地址栏中,通过执行以下操作访问您的网络应用程序:
127.0.0.1:8000 或 localhost:8000 现在每次您在编辑器中点击保存时,django-development-server/livereload-server 会自动更新静态文件
自定义 默认情况下,template 和 staticfiles 目录都会被监视。
您可以使用以下方法忽略模板目录:
$ ./manage.py livereload --ignore-template-dirs
或静态文件目录使用:
$ ./manage.py livereload --ignore-static-dirs
您可以忽略文件扩展名:
$ ./manage.py livereload --ignore-file-extensions=.less,.scss
额外文件 and/or 可以添加用于监视更改的路径作为位置参数。默认情况下,livereload 服务器监视静态文件查找器和模板加载器找到的文件。
$ python manage.py livereload path/to/my-extra-directory/
这将从 --ignore-template-dirs 和 --ignore-static-dirs 忽略的路径中排除。
可以使用 --host 和 --port 选项覆盖主机和端口。
$ python manage.py livereload --host=myhost.com --port=9090
runserver 命令 python manage.py runserver 还接受三个附加选项:
--nolivereload
禁用 livereload 功能--livereload-host
覆盖默认和设置文件指定的主机地址--livereload-port
覆盖默认和设置文件指定的端口