使用 HTML 表单中的参数渲染视图
Render a view with arguments from a HTML form
我想使用模板中的 HTML 表单进行查询,例如:index.html,并在不同的模板中呈现数据,results.html。
这是同一问题的解决方案,但在 2011 年(我正在使用最新版本的 Django,所以它不再有效)
<form class="body_form" method="GET" action="{% url 'results' 'var_name' %}" autocomplete="off">
<input name="var_name" type="text">
Post:
表单字段或输入字段中的语法是否正确,或者这是过时的?尝试此操作时出现以下错误:
Reverse for 'results' with arguments '('var_name',)' not found. 1 pattern(s) tried: ['results']
views.py
def results(request,var_name):
context = {'var': var_name,}
return render(request, 'results.html', context)
urls.py
url(r'^results', results, name="results"),
此外,我可以使用此方法解析 1 个以上的变量吗?
您的观点需要 var_name
kwarg in URL,但您没有提供。因此,如下更改 URL 配置,
url(r'^results<b>/(?P<var_name>[\w]+)/$'</b>, results, name="results"),
更新-1
要将值传递给 URL,请更改您的模板
action=<b>"{% url 'results' var_name=var_name %}"</b>
我想使用模板中的 HTML 表单进行查询,例如:index.html,并在不同的模板中呈现数据,results.html。
这是同一问题的解决方案,但在 2011 年(我正在使用最新版本的 Django,所以它不再有效)
<form class="body_form" method="GET" action="{% url 'results' 'var_name' %}" autocomplete="off">
<input name="var_name" type="text">
Post:
表单字段或输入字段中的语法是否正确,或者这是过时的?尝试此操作时出现以下错误:
Reverse for 'results' with arguments '('var_name',)' not found. 1 pattern(s) tried: ['results']
views.py
def results(request,var_name):
context = {'var': var_name,}
return render(request, 'results.html', context)
urls.py
url(r'^results', results, name="results"),
此外,我可以使用此方法解析 1 个以上的变量吗?
您的观点需要 var_name
kwarg in URL,但您没有提供。因此,如下更改 URL 配置,
url(r'^results<b>/(?P<var_name>[\w]+)/$'</b>, results, name="results"),
更新-1
要将值传递给 URL,请更改您的模板
action=<b>"{% url 'results' var_name=var_name %}"</b>