如何使用django获取字段映射名称在表单上的值

时间:2010-04-17 06:40:00

标签: django forms

我的表格是

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'?

感谢

2 个答案:

答案 0 :(得分:0)

由于它是模型形式,因此字段映射名称和kmlStr已存储在

的Map对象中
map = map_form.save(commit=False)

从表格中获取价值form.cleaned_data['mapName']

答案 1 :(得分:0)

不完全是,您想通过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()