2014-04-10 34 views
0

Models.py如何显示文本框在Django

class AllUsers(models.Model): 
    user_fullname = models.CharField(max_length=200) 
    user_email = models.EmailField() 
    dob = models.DateField() 
    user_cv = models.FileField(upload_to = get_upload_file_name) 
    user_department_id = models.ForeignKey(Department) 
    user_FK = models.ForeignKey(User) 
    coverletter = models.TextField() //THIS IS TEXT AREA 

Forms.py:

class AllUsersForm(forms.ModelForm): 
    dob= forms.DateField(widget=DateInput()) 
    class Meta: 
     model = AllUsers 

     fields = ('user_fullname','user_email','dob','user_cv','user_department_id', 
        'coverletter') 

问题: enter image description here

求职信有文本字段,但这样小输入任何文字。为什么?

+1

表单的其余部分是否正确呈现?你可以显示你的模板代码 – rockingskier

+0

@rockingskier是的 –

+1

灰色的三角形表明它是一个textarea(而不是输入[type = text]),所以这让我觉得这是一个样式/ css – rockingskier

回答

1

您应该为此字段指定小部件。它可以在模型来完成:

coverletter = models.TextField(widget=forms.Textarea) 
+0

在哪里定义模型或形式。在形式上它没有按预期工作 –

2

尝试这样的事情

coverletter = forms.CharField(required=False,  widget=forms.Textarea(attrs={'rows': 4, 'cols': 40})) //rows and colums of the textarea 
1

下面是一个类似于我在我的forms.py的textarea的一个例子。也许它也可能适用于你。

class AllUsersForm(forms.ModelForm): 
    dob= forms.DateField(widget=DateInput()) 
    class Meta: 
     model = AllUsers 

     fields = ('user_fullname','user_email','dob','user_cv','user_department_id', 
        'coverletter') 

     widgets = { 
      'coverletter': Textarea(attrs={'class': '???', 'rows': 5}), 
     } 

我相信“rows:”声明可能会使textarea对您更加明显。