在我的项目中,我有一个应用程序,它有自己的urls.py,就像这样
urlpatterns = patterns('',
(r'^(?P<language>\w+)/$', 'MainSite.views.home_page'),)
(上面的文件在我的申请表中)
我正在尝试在main(项目的)urls.py中包含此文件 像这样:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'', include('myproject.MainSite.urls')),
url(r'^admin/', include(admin.site.urls)),
)
if settings.DEBUG :
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
)
但在此之后我可以调用MainSite的(应用程序)视图,但我的管理员网址无效 我试过了
urlpatterns = patterns('',
(r'^$', include('myproject.MainSite.urls')),
url(r'^admin/', include(admin.site.urls)),
)
但在此之后这会使管理工作,但我的应用程序的视图将不会被调用, 我该如何解决这个问题。
答案 0 :(得分:10)
您在根级别包含了您的观点。由于它位于管理员的urlpattern之前,因此第一个urlpattern捕获所有内容,因此没有任何内容传递给管理员视图。
最简单的解决方法是简单地颠倒顺序:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
(r'', include('myproject.MainSite.urls')),
)
然后,您的观点将只捕获管理员没有的任何内容。