我在视图中有两个方法 create 和 update ,其中 update 接受一个参数,而 create 不接受任何参数。我决定把它们变成只有一个函数 update_create 因为它们并没有那么不同。
这是视图中的新方法的外观:
def update_create(request, id=None):
这是我的 urls.py:
url(r'^(\d+)/update/$|create/$', update_create, name='update_create'),
这就是我的模板在 templates/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>
有人可以解释发生了什么吗?为什么以前的代码不起作用,为什么新代码起作用?