2011-06-25 39 views
0

我有這個爲模板account_form.html漸漸空虛的形式在Django與METAFORM

<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

我想你忘記了實際創建表單:

應該讀這樣的事情:

forms.py:

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

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

這會給你的賬戶的所有領域。

HTH

+0

thans哥們,其實我寫這AccountForm(froms.Form),而不是AccountForm(的ModelForm),我不知道」爲什麼沒有工作 – user2134226

+0

這取決於你想做什麼。如果你想創建一個與你的模型直接綁定的模型,使用Modelform,否則你可以用你的方法創建每個表單。 看一下Django文檔,關於Modelforms:https://docs.djangoproject.com/en/1.3/topics/forms/modelforms/ – normic