当前位置:  开发笔记 > 后端 > 正文

如何隐藏Django表单中的主键字段

如何解决《如何隐藏Django表单中的主键字段》经验,为你挑选了2个好方法。

我更喜欢我的主键字段在我的编辑页面中不可见.如果我将其设置为AutoField,则不会在HTML表单中呈现它.但是主键值也不在我的POST数据中.有没有一种简单的方法将AutoField渲染为隐藏字段?



1> Daniel Naab..:

如果您不打算让用户能够更改表单上的内容,则应将其放在URL或其他上下文中.否则,您将面临安全问题(或至少是额外的用例).

在urls.py中:

(r'^edit/?P[\d]+)/$', views.edit),

并在view.py中:

from django.shortcuts import render_to_response, get_object_or_404
from models import MyModel

def edit(request, my_id):
    obj = get_object_or_404(MyModel, id=my_id)
    if request.POST:
        form = MyForm(request.POST, instance=obj)
        if form.is_valid():
            form.save()
            #
            # do other stuff....
            #
    else:
        form = MyForm(instance=obj)

    return render_to_response(template_name, {
        "form": form
    }, context_instance=RequestContext(request))



2> bchhun..:

您可以将其窗口小部件指定为隐藏字段

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有