장고 응용 프로그램을 만들 때 내 웹 사이트를 테스트하기 위해 runserver 명령을 사용 하겠지만 배포 할 때 웹 사이트를 www.test.com/으로 게시한다고 가정 해 봅시다. 장고.서브 디렉토리의 Django
내 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'),
])),
]
좋은 접근 방법입니까? 작동하지만 나는이 솔루션의 품질에 대해 확신하지 못합니다.
좋아, 지금 테스트, 그래서, 디버그에서 내가 현재 이름으로 포함해야합니까? 왜냐하면 그렇지 않다면 내 로컬 디버그 서버에서 서브 디렉토리를 테스트 할 수 없기 때문입니다. 그러나 FORCE_SCRIPT_NAME을 (를) 사용하여 URL 보간 (URL 템플릿 태그 사용이 예상대로 작동합니다!)! – VirtApp
@VirtApp 개발 설정이 아닌 프로덕션 설정에서'FORCE_SCRIPT_NAME = '/ django /''만 설정해야합니다. – knbk
알 겠어,하지만 내 개발 서버에서 그 디렉토리를 시뮬레이션해야하므로 디버그 설정이 맞는지 아닌지를 조건부 디버깅 설정에 추가해야합니까? : urlpatterns2 = patterns ('', URL (r '^ $', 'yourapp.views.home', name = 'Home'), url (r '^ admin /', 포함 (admin.site.urls)) urlpatterns = 패턴 ('', url (r '^ django /', include (urlpatterns2)), )' – VirtApp