URL Conf - 在一个应用程序中的根 URL 和非根 URL 提供视图

URL Conf - Serving views at the root URL and non root URLs within one app

我 运行 在新项目中配置 url.py 文件时遇到问题。我有一个应用程序,其中包含两个视图。第一个视图应出现在 myurl.com,而另一个应出现在 myurl.com/foomyurl.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 正在获取提交的 URL 并根据项目级别定义的 url 模式对其进行检查,但我不知道如何将其定向到 myapp 而不是在某些 url 处托管所有 myapp ,即 myapp.com/barmyapp.com/bar/foo.

url(r'^$', include('myapp.urls', namespace="myapp")),

去掉这里的^$。这将强制所有包含的 URL 仅在以 "the end" 开头时才匹配,即什么都没有。