0

動態表單我在models.py建築物的模型

class TProfiles(models.Model): 
    id = models.IntegerField(primary_key=True) # AutoField? 
    first_name = models.CharField(max_length=45, blank=True) 
    surname = models.CharField(max_length=45, blank=True) 
    email = models.CharField(max_length=45, blank=True) 

class Meta: 
    managed = False 
    db_table = 'profiles' 

而且在我的模板下面的模型我想基於模型的屬性,產生形狀。有沒有動態循環它們的方法?

register.htmlmodels.py附加

{% block content %} 
    <form enctype="multipart/form-data" action="" method="post"> 
     <!-- Loop through model attributes here --> 
    </form> 
{% endblock %} 
+0

創造一個 '的ModelForm',並把它傳遞給模板。 – 2014-10-19 13:36:41

回答

3

class TProfilesForm(ModelForm): 
    class Meta: 
     model = TProfiles 
     fields = ['first_name', 'surname', 'email'] 

而且在views.py創建形式是這樣的:

form = TProfilesForm() 

然後把它傳遞給模板是這樣的:

return render_to_response("register.html", { 
    "form": form, 
}) 

而且在模板:

{% for field in form %} 
    {{ field.label_tag }} {{ field }} 
{% endfor %} 

您也可以找到所有關於ModelFormhere

+0

謝謝,這有助於很多。你知道如何忽略某些領域嗎?我有一個ID字段,我不想出現在表單上。 – Jon 2014-10-19 13:56:30

+0

@Jon你可以在'class Meta:'中使用'fields'。檢查我的編輯。 – 2014-10-19 14:00:59

+0

太棒了!謝謝=) – Jon 2014-10-19 14:05:24