我的用户模型中的urls.py文件存在问题。当我访问localhost:5000 / users /时,我得到了预期的页面,但当我转到localhost:5000 / users / 1时,我会看到一个页面说明
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:5000/users/1
Using the URLconf defined in ng_blog.urls, Django tried these URL patterns, in this order:
^users/$
但是我的urls.py似乎被恰当地定义了。
urlpatterns = patterns('',
url(
r'^$',
UserList.as_view(),
name='user_list'
),
url(
r'^(?P<username>\w+)/$',
UserDetail.as_view(),
name='user_detail'
),
)
根urls.py文件是
urlpatterns = patterns('',
url(r'^blog/$', include('blog.urls')),
url(r'^users/$', include('users.urls')),
)
答案 0 :(得分:4)
在你的root urls.py中,更改
url(r'^users/$', include('users.urls')),
到
url(r'^users/', include('users.urls')),
$
表示网址格式的结束。因此这个问题。
另外,更改
r'^(?P<username>)/$',
到
r'^(?P<username>\w+)/$',
答案 1 :(得分:1)
您的部分问题是,您已将user_detail
视图定义为仅匹配以/字符结尾的网址,然后在您的网址失败中未使用。并且(正如其他人所说),您的username
模式实际上并不匹配任何字符。但是从尝试的模式列表中,我怀疑您的ng_blog.urls
文件中可能存在其他问题。
答案 2 :(得分:1)
我认为您需要将(?P<username>)
替换为(?P<username>[^/]+)
(或其他适当的模式)。
答案 3 :(得分:1)
尝试r'^(?P \ d +)/ $'。
d +将确保匹配1个或更多数字。