1

请帮助我修复 urls.py 人们建议这样,但它对我不起作用.....

#urls.py
  (r'^/user/(?P<username>)/subject/([\w|\W]+)/$', subject),

#template
 {% for subject in subjects %}
    <li><a href="/user/{{ user.username }}/subject/{{ subject.name }}">{{ subject.name }}</a> {{ del_form.delete }}</li>
 {% endfor %}

#error
PAGE NOT FOUND
Request URL:    http://127.0.0.1:8000/user/root/subject/Math%20140
....
....
^/user/(?P<username>)/subject/([\w|\W]+)/$
4

1 回答 1

7

您的正则表达式中有错误。如果您对此不熟悉,则应该使用正则表达式生成器:

http://ryanswanson.com/regexp/ (Perl)

http://www.pyregex.com/ (Python)

我想你想要这样的东西:

^user/(?P<username>.+)/subject/([\w|\W]+)/

但是您可能希望将 '.+' 更改为更具限制性的内容:

^user/(?P<username>[^/]+)/subject/([\w|\W]+)/

另请注意,由于 Django 将初始 URL 提供给 URL 调度程序的方式,您可能不想要那个前导斜杠。

于 2012-07-23T23:40:14.767 回答