我有兩種方法在視圖中創建和更新,其中更新需要一個參數,而創建不帶任何。我決定把它們變成只有一個函數update_create,因爲它們沒有那麼不同。django模板拋出NoReverseMatch錯誤
這是觀點新方法的樣子:
def update_create(request, id=None):
這是我的urls.py:
url(r'^(\d+)/update/$|create/$', update_create, name='update_create'),
這是我的模板的外觀模板/ list.html
<a href="{% url 'update_create' %}"> Create a new event </a>
使用上述代碼時出現此錯誤:
NoReverseMatch at /agenda/list/
Reverse for 'update_create' with arguments '()' and keyword arguments '{}' not found.
但是,如果我用這個在我的模板,而不是(我增加了一個參數),它的工作沒有任何錯誤:
<a href="{% url 'update_create' 1 %}"> Create a new event </a>
有人能解釋發生了什麼?爲什麼以前的代碼不起作用,以及爲什麼新代碼工作?
順便說一句,你讀過這篇文章嗎? http://stackoverflow.com/questions/4981026/noreversematch-error –
是的,我看到一些類似的話題,但我的更多的是爭論。謝謝:) – smarber