Изменения в Джанго urls.py не отражается в сети
Я запускаю приложение Django, используя NGINX и UWSGI.
Мои URLpatterns раньше были такими:
urlpatterns = [
url(r'^$', views.index),
url(r'^binaryQuestionApp/',include('binaryQuestionApp.urls')),
url(r'^pointlocations/',include('pointlocations.urls')),
url(r'^attributesFromPointsApp/',include('attributesFromPointsApp.urls')),
url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
И все же я хочу изменить его следующим образом:
urlpatterns = [
url(r'^$', views.index),
url(r'^collections/',views.collections), ## new line ##
url(r'^binaryQuestionApp/',include('binaryQuestionApp.urls')),
url(r'^pointlocations/',include('pointlocations.urls')),
url(r'^attributesFromPointsApp/',include('attributesFromPointsApp.urls')),
url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Тем не менее, после нажатия этого на мой сервер (и файл .py действительно меняется на сервере) я последовательно получаю 404-ю страницу Django:
Using the URLconf defined in data_collection_project.urls, Django tried these URL patterns, in this order:
^$
^binaryQuestionApp/
^pointlocations/
^attributesFromPointsApp/
^admin/
^media/(?P<path>.*)$
The current URL, randomurltoget404page, didn't match any of these.
Если я изменю что-то еще, ради тестирования, я могу заставить это изменение работать. Например, я могу внести изменения в свой .html-файл, на который url(r'^$', views.index),
в конечном итоге указывает, что обновление на моем сайте.
Как заставить Django обновить URLpatterns? Связанные с этим вопросы говорят мне перезапустить uwsgi или nginx, которые я пытался использовать sudo service uwsgi restart
безрезультатно.
1 ответ:
Как вы правильно отметили в своем вопросе, вам необходимо перезагрузить/перезапустить службу uWSGI после изменения кода.
Если это не работает, служба загружает кэшированные данные и не перезагружает ваши изменения. Чтобы очистить кэшированные данные, удалите все или соответствующий файл
*.pyc
и снова перезапустите службу.В вашем случае удалите
urls.pyc
и затем перезагрузите сsudo service uwsgi restart