0

url.py在新项目中配置文件时遇到问题。我有一个应用程序,其中包含两个视图。第一个视图应该出现在 myurl.com,而另一个应该出现在myurl.com/foo. myurl.com出现没有问题,但myurl.com/foo显示 404 page not found 错误。

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不托管所有myapp不在根目录的 URL 的情况下将其定向到,即myapp.com/barmyapp.com/bar/foo

4

1 回答 1

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

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

于 2015-01-11T01:07:35.303 回答