用Pycharm开发Django项目非常方便,修改.py文件后,自带的runserver可以自动重新加载,在浏览器中可以马上看到修改后的情况。但是修改.html后,并不会重新加载,这样在写前端页面的时候,就会非常麻烦。
本人亲测了下面两个方法,都可以实现在Django项目开发中,HTML修改后自动刷新
1 利用 livereload 模块
1.1 在浏览器中,安装livereload插件。
- Chrome浏览器如下:
- 火狐浏览器如下:
1.2 Python环境中,安装livereload模块
pip install livereload
1.3 在Django项目的setting.py
文件中,添加'livereload'
到INSTALLED_APPS
INSTALLED_APPS =[
...
'livereload',
...
]
1.4 在Pycharm的默认终端(Local)中,运行django项目.
python manage.py runserver
1.5 新建终端(Local(2)),使用端口8080,运行livereload.(runserver使用端口是8000,避免端口冲突,livereload用8080端口)
python manage.py livereload 8080
1.6 在Pycharm中编辑HTML,后按ctrl+s
保存HTML文件,会发现浏览器的页面自动刷新
2 利用 django-livereload-server 模块
2.1 Python环境中,安装django-livereload-server模块
pip install django-livereload-server
2.2 在Django项目的setting.py
文件中,添加'livereload'
到INSTALLED_APPS
INSTALLED_APPS =[
...
'livereload',
...
]
添加 `'livereload.middleware.LiveReloadScript'` 到 `MIDDLEWARE_CLASSES`
MIDDLEWARE = [
...
'livereload.middleware.LiveReloadScript',
]
2.3 在Pycharm的默认终端(Local)中,运行django项目(mysite),
python manage.py runserver
2.4 新建终端(Local(2)),运行livereload,(默认端口为35729,不会和runserver发生冲突)
python manage.py livereload
2.5 在Pycharm中编辑HTML,后按ctrl+s
保存HTML文件,会发现浏览器的页面自动刷新
两种方法类似,但是第二种方法不需要为浏览器安装插件,更加方便