請幫我解決urls.py 人建議這樣,但它簡化版,爲我工作.....正則表達式在Django的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]+)/$
我不知道django,但是你的正則表達式要求URL以'/'結尾,並且你的測試URL(http://127.0.0.1....MATH%20140)不會以'/'。你可以選擇它或刪除它。另外,''\ w | \ W] +'應該是'[\ w \ W] +',因爲'|'不代表'[]'中的任何內容。 (爲什麼不用'。+'呢?你在'[\ w \ W]中加入了新的行,而'。'沒有) – 2012-07-23 23:36:10
在某種程度上,這也取決於多行標誌(m)被設置,我不認爲它是。第二個問題可能是該網址是網址編碼的,而該主題可能不是。 – 2012-07-23 23:38:21
默認情況下,Django爲URL添加尾部斜槓。 url編碼問題最好通過添加一個不包含空格等的主題段或者使用[slugify過濾器]來處理(https://docs.djangoproject.com/en/1.3/ref/templates/builtins /#slugify)(並嘗試在視圖中反轉 - 最好添加一個實際的['SlugField']](https://docs.djangoproject.com/en/1.3/ref/models/fields/#slugfield )以避免那裏的困難)。 – Dougal 2012-07-23 23:43:57