2013-09-29 66 views
11

我該如何livereloadDjango templates如何重新生成Django模板?

+0

@jthill,我正在尋找建設性和實用的答案和解決方案。谷歌搜索結果沒有提供。 –

+0

好的,讓我重述一下:迄今爲止發現的最好的東西是什麼?證明這一點,並說出你卡在哪裏。就目前而言,「建設性的和實際的答案」更好地說明了「某人研究並撰寫了一篇專門針對我的具體需求的文章,我拒絕陳述這篇文章」。 – jthill

+0

Hi @jthill,「livereload Django模板」意味着當我更改我的Django模板時,更改應該自動傳播到瀏覽器,以便我不必自己刷新它。我問這個問題是因爲我沒有看到Google/DuckDuckGo搜索結果中的任何這樣的解決方案。我個人並沒有試圖讓它工作。你怎麼能幫忙? –

回答

7

我發現了一個易於設置並運行良好的Python原生解決方案,Python LiveReloaddoc)。

pip install livereload 
livereload /path/to/monitor 

您還必須安裝browser plugin。插件和LiveReload使用端口35729進行通信(可定製),但您需要將瀏覽器指向通過runserver指定的端口。例如:

python manage.py runserver example.com:8000 

在這種情況下,現場重裝上陣網址是http://example.com:8000,當您更改模板的頁面將自動刷新。

作爲最後一點,Python live加載也可以通過編程方式使用並支持wsgi應用程序。

+0

我在我的開發環境中設置了django-live-reload,不需要瀏覽器插件。 django-live-reload應該基於python livereload包,所以也許不再需要瀏覽器插件。他們使用必須使用瀏覽器內置技術的websockets? – nmgeek

0

您可以使用python-livereload這樣的:

pip install livereload 
livereload project/static 

而爲了使這項工作添加此片段到您的base.html

<script type="text/javascript" src="http://127.0.0.1:35729/livereload.js"></script> 

然後運行./manage.py runserver,它應該工作。

4

我維護包django-livereload-server,該包添加了livereload javascript,並以簡單的django方式提供了livereload服務器。所有你需要做的是:

  • pip install django-livereload-server
  • 添加'livereload'INSTALLED_APPS
  • 添加'livereload.middleware.LiveReloadScript'MIDDLEWARE_CLASSES
  • ./manage.py livereload啓動livereload服務器/文件守望者。
+0

我收到一個問題,它指示更新時爲0個觀察者。爲了得到這一點,我運行./manage.py livereload在一個單獨的端口上,我應該能夠將瀏覽器指向runserver路徑(默認爲127.0.0.1:8000),它應該自動更新對嗎?我試圖去livereload端口只是爲了確保,但得到了錯誤404。我如何將瀏覽器添加爲觀察者? –