2010-04-17 48 views
0

我的形式如何获得申请MAPNAME“表单上的价值.. UDING Django的

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

感谢

回答

0

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

Proce从形式

一旦is_valid()ssing将数据返回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() 
0

因为它是的ModelForm,字段MAPNAME和kmlStr在

map = map_form.save(commit=False) 

被alredy存储在Map对象从形式获得价值,你需要做的form.cleaned_data['mapName']