我正在为大学做一个项目而我之前从未使用过docker,我在处理静态文件时通常会使用浏览器同步,但现在当我在docker-compose上使用Django时(我跟着THIS教程),我不知道如何设置工作,有人可以给我建议或指导我吗?
答案 0 :(得分:0)
所以,我找到了解决方案,
首先按照教程here设置django with docker-compose,到最后你应该有一个工作基础django项目。然后按照以下步骤操作。
如何使用“livereload”使用“docker-compose”:
在您的主机上,打开命令行或终端并执行:
pip install --upgrade pip
pip install django-livereload-server
pip install psycopg2-binary
PS:我在docker-compose中使用psycopg2,这就是我安装它的原因, 如果您正在使用其他东西,请安装它而不是psycopg2
现在添加到requirements.txt文件(来自教程)这一行
django-livereload-server
该文件应该如下所示(如果您按照教程一步一步地进行操作,则可以根据您要使用的数据库进行更改)
Django==2.0
psycopg2-binary
django-livereload-server
打开终端,cd到你的项目目录,然后执行:
docker-compose build
将新的django-livereload下载到docker环境
现在,你已经安装了所有东西,
您需要设置项目以使用django-livereload-server模块,
在项目的settings.py中
将livereload添加到INSTALLED_APPS:
INSTALLED_APPS = [
...
'livereload',
...
]
并将livereload中间件添加到MIDDLEWARE:
MIDDLEWARE = [
...
'livereload.middleware.LiveReloadScript',
]
并确保将DEBUG设置为True。
现在你可以开始开发了,
在项目目录中打开2个控制台(终端)
在第一个做:
python manage.py livereload
等到服务器启动,当它正常工作,让它继续运行,然后在第二个终端中执行:
docker-compose up
第二个终端中的服务器正在运行django开发服务器,第一个终端中的服务器正在向第一个服务器提供一个livereload.js文件,该文件由django-livereload-server模块自动注入css保存时重新加载html和js,等等
PS:确保第一台服务器(livereload)在启动第二台服务器之前正常工作
我希望这有帮助!