【问题标题】:Django displaying CharField as TextField in forms errorDjango 在表单错误中将 CharField 显示为 TextField
【发布时间】:2013-05-01 07:49:51
【问题描述】:

我正在尝试创建一个名为 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;
}

【问题讨论】:

  • 你不能使用 textarea 小部件? text = forms.CharField(widget=forms.Textarea)
  • @limelights,哦,伙计。你的正确。我在这个问题stackoverflow.com/questions/430592/… 上围绕着那个答案游来游去,但我认为它是为管理模板指定的

标签: django


【解决方案1】:

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

【讨论】:

  • Np,很高兴我能帮上忙,如果它对你有帮助,别忘了接受,我和你的更多代表! :)
  • 指定一个 ID 怎么样? '文本': forms.Textarea(attrs={'id':'hello'}),
  • 通常表单中的小部件都有自己的自动生成的 id,所以我不会弄乱它,但您可以根据需要添加类 'class' : 'yournewclasshere'
猜你喜欢
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 2011-07-26
  • 2010-09-20
相关资源
最近更新 更多