Odpowiedz
Znalazłem bardzo proste rozwiązanie przez using Grunt and a livereload browser extension.
Znalazłem rodzime rozwiązanie Pythona, które jest łatwe w konfiguracji i działa dobrze, Python LiveReload (doc).
pip install livereload
livereload /path/to/monitor
Trzeba jeszcze zainstalować browser plugin. Wtyczka i LiveReload używają portu 35729
do mówienia (konfigurowalnego), ale musisz skierować przeglądarkę do portu określonego przez runserver. Na przykład:
python manage.py runserver example.com:8000
W tym przypadku żywo Reaktywacja URL jest http://example.com:8000, a po zmianie szablony strona jest odświeżana automatycznie.
Jako ostatnia uwaga, przeładowanie live Pythona może być również używane programowo i obsługuje aplikacje wsgi.
Konfiguruję Django-live-reload w moim środowisku deweloperskim i nie jest wymagana żadna wtyczka przeglądarki. django-live-reload ma być oparty na pakiecie livereload Pythona, więc może wtyczka przeglądarki nie jest już wymagana. Korzystają z internetowych gniazd internetowych, które muszą korzystać z technologii wbudowanych w przeglądarki w dzisiejszych czasach? – nmgeek
Można użyć python-livereload takiego:
pip install livereload
livereload project/static
I aby to dzieło dodać ten fragment kodu do swojej base.html
:
<script type="text/javascript" src="http://127.0.0.1:35729/livereload.js"></script>
Następnie uruchom ./manage.py runserver
i powinno działać.
Utrzymuję pakiet django-livereload-server, który dodaje zarówno javascript livereload i zapewnia serwer livereload w łatwy sposób django. Wszystko, co musisz zrobić, to:
pip install django-livereload-server
- dodać
'livereload'
doINSTALLED_APPS
- dodać
'livereload.middleware.LiveReloadScript'
doMIDDLEWARE_CLASSES
- uruchomić serwer livereload obserwatora/pliku z
./manage.py livereload
.
Pojawia się problem, który wskazuje 0 obserwatorów podczas aktualizacji. Aby to wyjaśnić, uruchamiam ./manage.py livereload na oddzielnym porcie i powinienem móc skierować przeglądarkę na ścieżkę runserver (domyślnie 127.0.0.1:8000) i powinna ona automatycznie zaktualizować się poprawnie?Próbowałem przejść do portu livereload tylko po to, aby się upewnić, ale wystąpił błąd 404. Jak dodać przeglądarkę jako watcher? –
@jthill, szukam konstruktywnych i praktycznych odpowiedzi i rozwiązań. Wyniki wyszukiwania Google ich nie dostarczyły. –
W porządku, pozwól mi przeformułować to: jaka jest najlepsza rzecz, którą do tej pory znalazłeś? Pokaż to i powiedz, gdzie utknąłeś. Tak jak obecnie, "konstruktywne i praktyczne odpowiedzi" są lepiej napisane "ktoś szuka i pisze artykuł dostosowany do moich konkretnych potrzeb, którego odmawiam". – jthill
Hi @jthill, aby "przeżyć na bieżąco szablony Django" oznacza, że po zmianie moich szablonów Django zmiana powinna być automatycznie propagowana do przeglądarki, aby nie musieć jej odświeżać. Zadaję to pytanie, ponieważ nie widziałem takich rozwiązań z wyników wyszukiwania Google/DuckDuckGo. Osobiście nie próbowałem działać. Jak możesz pomóc? –