将参数从模板传递到视图(链接)

时间:2013-03-04 19:16:31

标签: django django-models django-templates

我想从模板中调用视图并将参数传递给视图(参见下文)。但是,代码会引发以下错误:

Reverse for 'project_list' with arguments '(u'member',)' and keyword arguments '{}' not found.
来自模板的

<a class="btn" href="{% url project_list 'member' %}">Member</a>
从视图中

def project_list(request, projects_to_show = 'All'):
    if projects_to_show == 'member':
    ...
来自urls.py的

url(r'^projects/$', 'project_app.views.project_list', name="project_list"),

我做错了什么?

2 个答案:

答案 0 :(得分:2)

您的project_list网址不带任何参数。您需要定义另一个带有projects_to_show参数的网址:

url(r'^projects/(?P<projects_to_show>\w+)$', 'project_app.views.project_list', name="project_list_filtered"),

然后:

<a class="btn" href="{% url project_list_filtered 'member' %}">Member</a>

答案 1 :(得分:1)

您的网址和视图都需要接受您的参数。

URL:

url(r'^projects/(?P<member>[\w]+)$', 'project_app.views.project_list', name="project_list"),

查看:

def project_list(request, projects_to_show = 'All'):
    if projects_to_show == 'member':
    ...

您可以阅读有关反向网址解析here的文档。