2

我正在尝试制作一个名为 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)

我的表格.py

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

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

我的意见.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;
}
4

1 回答 1

6

对于您的用例,请使用 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.
        }

这是文档

于 2013-05-07T11:25:45.383 回答