【问题标题】:Django Set Form Field Value In Post RequestDjango在发布请求中设置表单字段值
【发布时间】:2018-06-12 15:13:25
【问题描述】:

我正在尝试使用 request.session 中的数据在 Post 请求中的 views.py 中设置表单字段值,然后将该数据保存到数据库中。但是,我无法弄清楚如何做到这一点。这是我尝试过的:

    if self.form.is_valid():
        #attempt 1
        request.POST._mutable = True
        self.form.data['field'] = request.session['key']

        #attempt 2
        self.form.fields['field'] = request.session['key']

        #attempt 3
        self.form.cleaned_data['field'] = request.session['key']

        self.object = self.form.save()

有没有办法做到这一点?

【问题讨论】:

    标签: python django forms post


    【解决方案1】:

    经过反复试验,我发现这是可能的,但必须在表单验证语句之外完成。我是这样做的:

    def post(self, request, *args, **kwargs):
        request.POST._mutable = True
        self.form.data['field'] = request.session['key']
    
        if self.form.is_valid():
            ........
    

    【讨论】:

      猜你喜欢
      • 2017-11-15
      • 2014-05-13
      • 2013-10-29
      • 2016-10-14
      • 1970-01-01
      • 2013-11-26
      • 2019-06-06
      • 2021-08-24
      • 1970-01-01
      相关资源
      最近更新 更多