Джанго неправильный шаблон URL для подпути - PullRequest
0 голосов
/ 26 апреля 2018

Я не знаю, как правильно объяснить мою проблему.Я пытаюсь сделать следующее.

Мои администраторы связали адрес моего сервера Django 192.168.2.1:8001 с веб-адресом: devel.genesilico.pl/modomics, чтобы опубликовать веб-сайт, который в противном случае был бы виден только в нашей локальной сети.

Если я посещаю этот адрес, я вижу главную страницу моего сайта без статических файлов, и если я пытаюсь посетить другую страницу, адрес меняется на:

devel.genesilico.pl / updates

Таким образом, путь префикса модомики удален, и он не может найти страницу.

Я думал, что изменение моего URLs.py, добавление модомики перед всеми из них решит эту проблему, но нет.На этом этапе отладка Django показывает мне это (фотография прилагается). И в этом случае префикс «modomics» удаляется.

Я не знаю, что делать.Я не знаю, была ли эта проблема вызвана Django или настройкой веб-адреса, который мне дали мои администраторы.

enter image description here

Обратите внимание, что яТестирую это только для приложения Модификации.

Вот мой основной urls.py:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('core.urls')),
    url(r'^', include('modifications.urls')),
    url(r'^', include('sequences.urls')),
    url(r'^', include('pathways.urls')),]

А вот urls.py для модификаций приложения:

urlpatterns = [
    url(r'^modomics/modifications$', views.modlist, name='modlist'),
    url(r'^modomics/modifications/(?P<mod_name>.+)/$', views.moddescription, name='moddescription'),
]

1 Ответ

0 голосов
/ 26 апреля 2018

Похоже, вам нужно настроить приложение для работы в подпапке.

Что происходит, так это то, что функция reverse создает относительные URL-адреса для корневого каталога, / вместо /modomics, поскольку ваш сервер не знает, что он размещен по-другому.

Есть два способа решить эту проблему:

  1. В settings.py вы можете установить FORCE_SCRIPT_NAME = '/modomics' для правильного создания URL-адресов или

  2. пусть ваши администраторы передадут /modomics в качестве значения заголовка X-Script-Name и обработают его в wsgi.py - см. Этот связанный ответ

Недостаток первого решения заключается в том, что вам необходимо убедиться, что ваш веб-сайт настроен на работу по-разному в разработке и разработке, используя один из шаблонов файла настроек для развертывания , и вам необходимо согласовать с вашими администраторами, если подпапка когда-либо изменится.

...