簡體   English   中英

在docker-compose上使用django與瀏覽器同步

[英]using browser-sync with django on docker-compose

我正在上大學的項目,以前從未使用過docker,在處理靜態文件時通常使用瀏覽器同步,但是現在當我在docker-compose上使用Django時(我遵循教程),不知道如何設置它,有人可以給我建議或指導我嗎?

所以,我找到了解決方案,
首先按照此處的教程通過docker-compose設置django, 到此為止 ,您應該有一個正常的django項目。 然后按照以下步驟操作。

如何在“ docker-compose”中使用“ livereload”:
在主機上,打開命令行或終端並執行以下操作:

pip install --upgrade pip
pip install django-livereload-server
pip install psycopg2-binary

PS:我在docker中使用了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:啟動第二台服務器之前,請確保第一台服務器(liverload)正常工作

希望對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM