在Django中保存经过调整的表单请求数据

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

我的表单接受URL作为输入,并且在URL起作用之前,它应该具有'http''https',例如:http://apexrice.com。所以我的问题是,有时用户输入的url不带https

所以我试图调整数据并添加httphttps

这是示例代码:

def get_link(request):

form = shortenerModelForm(request.POST)
if form.is_valid():
    check_http = form.cleaned_data['link']
    print(check_http)
    if request.is_secure() and not check_http.startswith('https'):
        link = f'https://{check_http}'
        u = form.save(link)
    elif not request.is_secure() and not check_http.startswith('http'):
        link = f'http://{check_http}'
        u = form.save(link)
    else:
        u = form.save()

    return render(request, 'index.html', {'form': form, 'users': users})


return render(request, 'index.html', {
    'form': form,
})

因此,form.save()不会将更改保存到数据库,而是保存了原始数据。请如何将更改保存到数据库。

python django
1个回答
0
投票

所以我只是弄清楚了我所缺少的。我从saving-changes-to-objects获得了答案>

因此,我首先将实例保存到数据库,然后在返回最终输出之前更新了数据库中的值。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.