django的其他POST数据

Ali*_*son 3 forms django post

我正在使用Django,我无法在不修改url的情况下将变量信息传回服务器.这就是我所拥有的工作方式,除了我希望动作是/ foo之外:

<form method="post" action="/foo/{{ variable }}">
  <input type="submit" value="bar"/>
</form>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我可以在解析url时轻松获取变量.相反,我想将变量添加到POST QueryDict.这可能吗?

mik*_*725 5

是.只需添加其他输入字段:

<form method="post" action="/foo/">
  <input type="hidden" value="{{ variable }}" name="name_of_var">
  <input type="submit" value="bar"/>
</form>
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过以下方式访问视图中的变量:

request.POST['name_of_var']
Run Code Online (Sandbox Code Playgroud)

或者如果您不确定该变量是否存在.这不会引起异常是不存在的.

request.POST.get('name_of_var')
Run Code Online (Sandbox Code Playgroud)