2013-09-29 4 views
11

Как можно livereloadDjango templates?Как создавать шаблоны Django?

+0

@jthill, я ищу конструктивные и практические ответы и решения. Результаты поиска Google не предоставили их. –

+0

Хорошо, позвольте мне перефразировать это: что самое лучшее, что вы нашли до сих пор? Покажите это и скажите, где вы застряли. Как и сейчас, «конструктивные и практические ответы» лучше написаны «кому-то, чтобы исследовать и написать статью, адаптированную к моим конкретным потребностям, о которой я отказываюсь заявить». – jthill

+0

Привет @jthill, чтобы «шаблоны Django для загрузки» означает, что при изменении моих шаблонов Django изменение должно автоматически распространяться в браузере, так что мне не нужно его обновлять самостоятельно. Я задаю этот вопрос, потому что я не видел таких решений из результатов поиска Google/DuckDuckGo. Я лично не пытался заставить его работать. Как вы можете помочь? –

ответ

7

Я нашел собственное решение Python, которое легко настроить и хорошо работает, Python LiveReload (doc).

pip install livereload 
livereload /path/to/monitor 

Вы по-прежнему должны установить browser plugin. Плагин и LiveReload используют порт 35729, чтобы говорить (настраиваемый), но вам нужно указать браузер на порт, указанный через сервер. Например:

python manage.py runserver example.com:8000 

В этом случае живой перезагружен URL является http://example.com:8000, и при изменении шаблонов страница обновляется автоматически.

Как последнее примечание, перезагрузка Python также может быть использована программно и поддерживает приложения wsgi.

+0

Я установил django-live-reload в моей среде dev и не требуется плагин для браузера. Предполагается, что 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, который добавляет javascript для загрузки и обеспечивает сервер с загрузкой в ​​режиме простой записи. Все, что вам нужно сделать, это:

  • pip install django-livereload-server
  • добавить 'livereload' к INSTALLED_APPS
  • добавить 'livereload.middleware.LiveReloadScript' к MIDDLEWARE_CLASSES
  • запустить LiveReload сервер/файл Бодрствующего с ./manage.py livereload.
+0

Я получаю вопрос, когда он указывает 0 наблюдателей, когда он обновляется. Чтобы получить это прямо, я запускаю ./manage.py для загрузки в отдельном порту, и я должен указывать браузер на путь к серверу (по умолчанию 127.0.0.1:8000), и он должен автоматически обновляться правильно?Я попытался пойти в порт для загрузки, чтобы убедиться, но получил ошибку 404. Как добавить браузер в качестве наблюдателя? –

Смежные вопросы