我在新项目中配置url.py
文件时遇到了问题。我有一个应用程序,其中包含两个视图。第一个视图应显示在myurl.com上,而另一个视图应显示在myurl.com/foo
。 myurl.com
显示没有问题,但myurl.com/foo
显示找不到404页错误。
项目级别的url.py
如下所示:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', include('myapp.urls', namespace="myapp")),
)
应用级别的url.py
如下所示:
from django.conf.urls import patterns, include, url
from myapp import views
urlpatterns = patterns('',
url(r'^$', views.book_search, name='book_search'),
url(r'^foo/', views.myapp, name='myapp')
)
据我所知,django正在使用提交的网址并根据项目级别定义的网址格式对其进行检查,但我不知道如何将其定位到myapp
而不托管所有网址myapp
位于某个不在根位置的网址,即myapp.com/bar
和myapp.com/bar/foo
。
答案 0 :(得分:1)
url(r'^$', include('myapp.urls', namespace="myapp")),
在这里删除^$
。这将强制所有包含的URL仅在以“结束”开头时匹配,即没有。