我嘗試將django poll應用程序應用到我自己的應用程序(一個IMC計算器),以改進和構建我在python/django中的第一步的一個小項目。'dict'object has no attribute'create'/'save'
我嘗試保存我的第一種形式的數據是accueil.html:
<form action="" method="post">
<table>
{{ form.as_table }}
</table>
<input type ="submit" value="Submit">
</form>
這裏是我的forms.py:
from django import forms
class IndividuDataForm(forms.Form):
nom = forms.CharField(max_length=100)
prenom = forms.CharField(max_length= 100)
anniversaire = forms.DateField()
taille = forms.IntegerField()
poids = forms.IntegerField()
這裏是我的models.py:
from django.db import models
from django.forms import ModelForm
class Individu(models.Model):
nom = models.CharField(max_length=100)
prenom = models.CharField(max_length= 100)
anniversaire = models.DateField()
taille = models.IntegerField()
poids = models.IntegerField()
def __unicode__(self):
return self.nom
class ImcResultat(models.Model):
individu = models.ManyToManyField(Individu)
imc = models.IntegerField()
date_imc = models.DateField()
class IndividuForm(ModelForm):
class Meta:
model = Individu
class ImcResultatForm(ModelForm):
class Meta:
model = ImcResultat
最後我* views.py *是在這裏: 問題是在該行13 * A = cd.create()*當我嘗試保存數據從表單到數據庫。
from django.shortcuts import render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from models import Individu, ImcResultat
from forms import IndividuDataForm
def accueil(request):
if request.method == 'POST':
form = IndividuDataForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
a = cd.create() **#this is the problem**
return HttpResponseRedirect('/accueil/page2/')
else:
form = IndividuDataForm()
return render_to_response('accueil.html', {'form':form})
def page2(request):
return render_to_response('page2.html')
我想它是在views.py的第一部分,我的功能不能很好地工作,它不會保存表單在數據庫中。 高清ACCUEIL(請求):
if request.method == 'POST':
form = IndividuDataForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
a = cd.create() **#this is the problem**
return HttpResponseRedirect('/accueil/page2/')
檢查,如果表單有效後,我在清理表單中的數據,然後嘗試將其保存。 ,我得到這個錯誤:
Exception Type: AttributeError
Exception Value: 'dict' object has no attribute 'create'
我想這是從dictionnary,但從來沒有在我的代碼使用{}爲dictionnary名單。 所以我不知道,並陷入學習的過程。
感謝您的幫助,我希望從我的第一個stackoverflow後,我沒有犯太多的錯誤。
感謝大家的幫助,再次查看關於使用ModelForm的代碼我使用的是Forms.py中的IndividuDataForm,並使用models.py中的IndividuForm進行更改,它的工作原理是!!! – Tony 2012-08-01 21:10:05