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

don*_*y72 2 django

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

在此处输入图片说明 模型.py

class House(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    description = models.Textfield(max_length=100)
Run Code Online (Sandbox Code Playgroud)

我的表格.py

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

    class Meta:
         model = House
         fields = ('name', 'description',)
Run Code Online (Sandbox Code Playgroud)

我的意见.py

def House(request):
     form = houseForm()
     return render(request,'house.html',{'form':form})
Run Code Online (Sandbox Code Playgroud)

模板

<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.name}}
{{form.text}}
{{form.description}}
<input type = "submit" value="save" id="box2"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我的 CSS

#id_text {
    width: 230px;
    height: 80px;
    color:#9B5A3C;
    font-family: Arial;
    font-size: 15px;
    position:absolute;
    left:700px;
    top: 260px;
}
Run Code Online (Sandbox Code Playgroud)

Hen*_*son 6

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

text = forms.CharField(widget=forms.Textarea)
Run Code Online (Sandbox Code Playgroud)

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

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

这是文档