Когда я создаю свое приложение django, я буду использовать команду runerver, чтобы протестировать мой сайт, но при развертывании предположим, что я опубликую свой сайт по адресу: www.test.com/ Джанго.Django в подкаталоге
My IIS настраивается с помощью приложения под моим веб-сайтом по умолчанию «django».
Я ожидал, что все будет отлично работает, но Джанго не распознает URL-адрес схемы, которая заключается в следующем:
urlpatterns = [
# Examples:
url(r'^$', app.views.home, name='home'),
url(r'^contact$', app.views.contact, name='contact'),
url(r'^about', app.views.about, name='about'),
]
и в этом случае, мне нужно изменить мои urlpatterns, как это , для обслуживания заявки через www.test.com/django:
urlpatterns = [
url(r'^(?i)django/', include([ #Application name
# Examples:
url(r'^$', app.views.home, name='home'),
url(r'^contact$', app.views.contact, name='contact'),
url(r'^about', app.views.about, name='about'),
])),
]
Это хороший подход? он работает, но я не уверен в качестве этого решения.
Хорошо, протестирован прямо сейчас, поэтому, в отладке, мне нужно включить include с текущим именем? потому что если нет, я не могу проверить подкаталог на моем собственном локальном сервере отладки, верно? Но интерполяция url (с использованием шаблонов шаблонов URL теперь работает так, как ожидалось!), Используя FORCE_SCRIPT_NAME! – VirtApp
@VirtApp Вы должны устанавливать только 'FORCE_SCRIPT_NAME = '/ django /'' в своих производственных настройках, а не в настройках разработки. – knbk
Я знаю, но на моем сервере разработки мне нужно смоделировать этот каталог, поэтому мне нужно добавить что-то вроде условного, если об установках отладки или нет, правильно: 'urlpatterns2 = patterns ('', url (r '^ $', 'yourapp.views.home', name = 'Home'), url (r '^ admin /', include (admin.site.urls)),) urlpatterns = patterns ('', url (r '^ django /', include (urlpatterns2)), ) ' – VirtApp