django - request.POST失踪?

时间:2012-09-26 18:06:08

标签: django django-forms

所以我在这个答案中看到了:

http://stackoverflow.com/a/11072057/1061426
有人说:

  

更改此行:

form = StatementForm(request.POST, initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"), 'user':loggedin_user, 'views':0})
     

为此:

form = StatementForm(initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"),'user':loggedin_user, 'views':0})

包含request.POST之间有什么区别?或者,更重要的是 - 如果值不是在request.POST中设置,但包含在初始数组中,则X的值是什么,is_valid()方法见?

编辑:我想我要问的是〜哪个优先于上述?如果添加了request.POST和一个初始值,初始值是否会覆盖request.POST值?是否可以覆盖“空”值? (在我所涉及的问题中,作者错误地使用request.POST在方法为get时为StatementForm播种,这对他造成了问题。)

1 个答案:

答案 0 :(得分:2)

initial是一个用于在运行时设置表单初始值的参数。

现在,request.POST用于将表单绑定到发布数据。例如,在使用POST从浏览器提交表单时,所有相关字段都将分配给form

中可以找到的request.POST对象

如果未在表单中设置X,则该值取自初始值(如果存在)。

您可以阅读initial here