Django在表单错误中将CharField显示为TextField

时间:2013-05-07 11:18:20

标签: django

我正在尝试创建一个名为text的字段,这是一个像文本字段一样的CharField工作,因为我不能在表单中使用textfield所以我做的是我放大了charfield 使用CSS。问题是,当我输入一个句子。句子不是像文本字段那样从上到下显示,而是在框中间显示为直线。如何让这个Charfield像textfield一样工作?

enter image description here  models.py

class House(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    description = models.Textfield(max_length=100)

我的forms.py

class HouseForm(forms.ModelForm):
    text = forms.CharField(required=False, )

    class Meta:
         model = House
         fields = ('name', 'description',)

my views.py

def House(request):
     form = houseForm()
     return render(request,'house.html',{'form':form})

模板

<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.name}}
{{form.text}}
{{form.description}}
<input type = "submit" value="save" id="box2"/>
</form>

我的CSS

#id_text {
    width: 230px;
    height: 80px;
    color:#9B5A3C;
    font-family: Arial;
    font-size: 15px;
    position:absolute;
    left:700px;
    top: 260px;
}

1 个答案:

答案 0 :(得分:4)

对于您的用例,请使用TextArea小部件

text = forms.CharField(widget=forms.Textarea)

如果您想为小部件指定一些属性,您可以在表单中执行此操作,这非常好。

class HouseForm(forms.ModelForm):
    class Meta:
        model = House
        widgets = {
            'text': forms.Textarea(attrs={'rows':5, 'cols':10}), #this is changeble.
        }

这是documentation