Django在发布请求中设置表单字段值

问题描述 投票:0回答:1

我正在尝试使用来自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个回答
1
投票

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

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

    if self.form.is_valid():
        ........
© www.soinside.com 2019 - 2024. All rights reserved.