项目根目录中的urls.py
url(r'^people/',include('profiles.urls'))
简档/ urls.py
urlpatterns = patterns('profiles.views',
url(r'^me/$','home',name='profile_home'),
url(r'^(?P<user_name>[^/])/$','public_profile',name='user_public_profile'),
url(r'^signup/$','register_user',name='signup')
)
我收到404错误,当我为现有用户输入时,Django无法找到Url,例如/people/alice
,而配置文件主页和注册的其他两种模式工作正常。事实上,昨天工作正常,但现在没有,我找不到问题。
错误消息:
Django tried these URL patterns, in this order:
....
....
^people/ ^me/$ [name='profile_home']
^people/ ^(?P<user_name>[^/])/$ [name='user_public_profile']
^people/ ^signup/$ [name='signup']
答案 0 :(得分:2)
您的正则表达式只允许单个字符与用户名匹配。您需要添加+
:
r'^(?P<user_name>[^/]+)/$'
答案 1 :(得分:1)
网址中的正则表达式模式不正确
url(r'^(?P<user_name>[^/])/$','public_profile',name='user_public_profile'),
将其更改为使用[\w]+
url(r'^(?P<user_name>[\w]+)/$','public_profile',name='user_public_profile'),