首页 > 解决方案 > Django 编辑表单安全方式

问题描述

我有编辑表单(modelform),我为该表单创建了一个类似 /contacts/edit// 的 url 我的视图是方法基础视图,我将 contact_id 从我的模板传递给视图作为参数。

然后这就是我正在做的事情:

def edit_contact(request, contact_id):
    is_user_authenticated(request.user.is_authenticated)
    contact_person = get_object_or_404(domain.Contact.contacts, pk=contact_id)
    if request.method == 'POST':
        form = forms.ContactPersonForm(request.POST, instance=contact_person)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/contacts/')

但是,任何用户只需提供 ID 即可访问该网址,基本上您可以编辑任何您想要的人。

我可以对 DB 再做一次查询,以确定一个人是否是编辑联系信息的合适人选,但这样做是否正确?我的情况的最佳做法是什么?

标签: pythondjango

解决方案


推荐阅读