2010-04-17 25 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']