【问题标题】:how to get the filed mapName 's value on a form.. uding django如何在表单上获取字段映射 Name 的值.. 使用 django
【发布时间】:2010-04-17 06:40:00
【问题描述】:

我的表格是

class MapForm(forms.ModelForm):
     class Meta:
        model = Map
        fields = ('mapName', 'kmlStr')

视图是:

map_form = MapForm(request.POST or None)
if map_form.is_valid():
    map = map_form.save(commit=False)
    map.mapName=map_form.mapName#is this code right ?

如何获取 mapName 的值,我们是 'map_form.mapName' ?

谢谢

【问题讨论】:

    标签: django forms


    【解决方案1】:

    不完全是,你想通过cleaned_data访问表单域

    处理表单中的数据

    一旦 is_valid() 返回 True,您就可以 安全地处理表单提交 它符合的知识 表单定义的验证规则。 虽然您可以访问 request.POST 直接在这一点上比较好 访问 form.cleaned_data。这个数据 不仅经过验证,而且将 也可以转换成相关的 适合您的 Python 类型。在上述 例如,cc_myself 将是一个布尔值 价值。同样,诸如 IntegerField 和 FloatField 转换 Python int 和 float 的值 分别。

    map.mapName = map_form.cleaned_data['mapName']
    

    但是,您已经在使用模型表单,因此您可以保存表单以返回一个对象。

    map_form = MapForm(request.POST or None)
    if map_form.is_valid():
        map = map_form.save()
    

    【讨论】:

      【解决方案2】:

      由于是modelform,mapName和kmlStr字段已经存储在Map对象中

      map = map_form.save(commit=False)
      

      要从表单中获取价值,您需要执行form.cleaned_data['mapName']

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-01
        • 1970-01-01
        • 2023-03-26
        • 2017-01-17
        • 2023-02-03
        • 2015-05-27
        • 2011-04-15
        相关资源
        最近更新 更多