2

モデルからのデータがフォームに入力されないのはなぜですか?

これは私のmodel.pyです

class People(models.Model):
    user = models.OneToOneField(User)
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=255)

これは私のforms.pyです

from django.forms import ModelForm 

class EditForm(ModelForm):
    class Meta:
        model = People
        exclude=('user',)

ビュー.py

def edit_data(request):
    user = request.user
    people = People.objects.get(user=user)
    form = EditForm(request.POST, instance = people)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
        else:
            print 'Error'
    else:
        form = EditForm()

    return render_to_response('profile.html',{'form':form}, context_instance=RequestContext(request))

profile.html

<form action="/profile/" method="post">{% csrf_token %}
{{ form.as_p }}
</form>
4

1 に答える 1

2

問題は、句で(変数が設定されていないの新しいインスタンスに)再定義formしていることです。(およびその下の行)を削除すると、準備完了です。elseEditForminstanceelse

于 2012-10-15T15:57:07.387 に答える