嗨,我有一个令人愤怒的问题 .
我有这样的网址模式:
# mproject/myapp.urls.py
url(r'^project/(?P<project_id>\d+)/$','user_profile.views.EditProject',name='edit_project'),
它在浏览器中工作正常但是为了测试,当我在shell中执行此操作时:
from django.test import Client
from django.core.urlresolvers import reverse
client= Client()
response = client.get(reverse('edit_project'), project_id=4)
我觉得很可怕:
NoReverseMatch: Reverse for 'edit_project' with arguments '()' and keyword arguments '{}' not found.
我在这里想念的是什么?
3 回答
您必须指定
project_id
:Doc here
当我试图使用反向生成激活链接并通过电子邮件发送时,这个问题让我非常头疼 . 所以我认为从tests.py它将是相同的 . 正确的方法是:
Resolve也更直截了当
Documentation on this shortcut