使用 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>