2013-01-23 99 views
1

爲什麼這會返回一個NoReverseMatchNoReverseMatch Django Postman

django-postman

url(r'^write/(?:(?P<recipients>[\[email protected]+-:]+)/)?$', 'write', name='postman_write'), 

模板:

<a href='{% url postman_write recipients=object.user %}'>Send Message</a> 

這不工作,要麼..

<a href='{% url postman_write object.user %}'>Send Message</a> 

返回:Reverse for 'postman_write' with arguments '(<User: admin>,)' and keyword arguments '{}' not found.我缺少的是正確地建設這個網址?謝謝!

+0

你能證實它的工作原理不帶參數傳遞 - 只是'{%URL postman_write%}'。根據視圖代碼,它應該默認收件人爲'None',且不傳遞任何參數。 –

回答

0

您正在傳遞url標記中的用戶對象。您需要傳遞用戶名。

{% url postman_write recipients=object.user.username %} 

此外請確保您已將郵遞員網址包含在您的主要urls.py文件中。

+0

謝謝,但仍NoReverseMatch:'反向'postman_write'的參數'()'和關鍵字參數'{'收件人':u'admin'}'找不到'。' –

+0

@NickB我已更新答案嘗試通過電子郵件的用戶,並讓我知道 –

+0

仍NoReverseMatch:'反向'postman_write'與參數'()'和關鍵字參數'{'收件人':u'[email protected]'}'找不到'。' –

0

嘗試:

{% url postman_write object.user.username %}