在Django中使用MetaForm获取空表单
我有一个模板文件,叫做 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 个回答
1
我觉得你忘了真正创建你的表单了:
应该像这样写:
forms.py:
from django.forms import ModelForm
from yourapp.models import Account
class AccountForm(ModelForm):
class Meta:
model = Order
这样做会让你得到Account里的所有字段。
希望这对你有帮助。