使用MetaForm在Django中获取空表单

时间:2011-06-25 17:46:40

标签: python django forms

我将此作为模板account_form.html

<form action="/contact/" method="post">
    {% for field in form %}
        <div class="fieldWrapper">
            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}
        </div>
    {% endfor %}
    <p><input type="submit" value="Send message" /></p>
</form>

我的model.py

class Account(models.Model):
        person_name     = models.CharField(max_length=30)
        account_number  = models.IntegerField()
        creation_date   = models.DateField()

我的观点是

def account_form(request):
    if request.method == 'POST': # If the form has been submitted...
        form = AccountForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
                # Process the data in form.cleaned_data
                # ...
                return HttpResponseRedirect('/thanks/') # Redirect after POST
    else:
        form = AccountForm() # An unbound form

    return render_to_response('account_form.html', {
            'form': form,
    })

问题是当我加载页面时,我只得到提交按钮

1 个答案:

答案 0 :(得分:1)

我认为您忘记了实际创建表单:

应该是这样的:

forms.py:

from django.forms import ModelForm
from yourapp.models import Account

class AccountForm(ModelForm):
    class Meta:
        model = Order

这将为您提供来自帐户的所有字段。

HTH