正如标题暗示我得到了NoReverseMatch错误,但我的url.py有相应的命名url。我对自己错过了一些简单的事情感到非常自信,但对于新事物,我似乎无法找到自己的问题。
错误:(在以下employee_edit.html文件中生成)
渲染时捕获NoReverseMatch:反向' employee_new'' 参数'()'和关键字参数' {}'没找到。
\家\用户名\ mysite的\ MYAPP \ views.py:
class v_EmployeeCreate(CreateView):
model = Employee
template_name = 'employee/employee_edit.html'
def get_success_url(self):
return reverse('employee_list')
\家\用户名\ mysite的\ url.py:
from myapp.views import v_EmployeeCreate, v_EmployeeList
urlpatterns = patterns('',
< ... snip ...>
url(r'^newEmployee$', v_EmployeeCreate.as_view(), name="employee_new"),
)
\ home \ username \ mysite \ myapp \ templates \ employee \ employee_edit.html(第7行):
<form action="{% url 'employee_new' %}" method="POST">
我觉得存在文件路径问题,但我不确定如何解决这个问题。命名URL可以帮助我进入模板,但模板本身无法生成URL。
到目前为止,为了记录,我有:
使用教程:http://effectivedjango.com/tutorial/views.html#creating-contacts
答案 0 :(得分:1)
我认为你使用的是旧版本的Django - 在1.5之前(当前为1.6)。线索是您的错误消息在视图名称周围有两个单引号:在那些旧版本中,您不应在url
标记中的名称旁边添加引号。
你应该(最好)升级Django,或者(如果你真的不能这样做)使用{% url employee_new %}