【django】表单提交 与 POST直接提交的区别

def article_tag_rename(request):
    # edit
    # data:{"tag_id":tag_id, "tag_name":new_name},
    '''
     # 法1:用form = xxxForm(data=request.POST) 用表单 来存储数据
    #  表单提交,要保证POST名字与表单名字与model名字一一对应

    # 法2:直接用request.POST['id']  request.POST['tag'] 直接用POST的数据来操作
    #  不用保证 POST名字与model名字一一对应
    # id = request.POST['id']
    # tag =request.POST['tag']   
    '''
    
    # Form 获得 前端的POST数据
    # 这种方法需要http模板POST的参数名称  和  Form模板的名称要对应相同,才能直接赋值给data=request.POST
    rename_tag = ArticleTag.objects.get(id=request.POST['id'])
    rename_tag_form = ArticleTagForm(data=request.POST)
    if rename_tag_form.is_valid():
        cd = rename_tag_form.cleaned_data
        try:
            rename_tag.tag = cd["tag"]
            rename_tag.save()
            return HttpResponse("1")
        except:
            return HttpResponse("修改失败")
    else:
        # 检查失败的原因:
        is_echo = ArticleTag.objects.filter(tag=request.POST['tag'])
        if is_echo:
            return HttpResponse("标签已存在!")
        else:
            return HttpResponse("输入有误!")

你可能感兴趣的:(python,Django)