首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在向导窗体中设置django小部件的样式

在向导窗体中设置django小部件的样式
EN

Stack Overflow用户
提问于 2014-05-21 06:36:42
回答 1查看 592关注 0票数 0

我在表单中遇到了一个小部件的问题。我在django向导中有3个步骤(3个表单),我想要样式化每个字段。

如果我循环表单以单独设置每个字段的样式,它似乎可以工作,但是,它不能处理我在模型中作为小部件的字段(它们显示为样式,但是输入不被识别)。

例如,我在一个表单中有两个单选按钮,如果我在模板中使用type="checkbox“设置字段的样式,它将不起作用。和文本区域字段一样,我可以呈现一个文本区域,但是表单不能识别输入。有没有一种方法来设计小部件的样式?

代码语言:javascript
运行
复制
{% for form in wizard.form.forms %}
{% for field in form %}
<label class="control-label" for="id_{{ field.name }}">Message</label>
<textarea class="form-control" rows="10" cols="10"
id="id_{{ field.name }}" value="{{ field.value }}"
onblur="if(this.value == '') { this.value='{{field.name}}'}" 
onfocus="if (this.value == '{{field.name}}') {this.value=''}" > </textarea>
<p class="help-text">{{ field.help_text }} </p> 
{% endfor %} 
{% endfor %}

这会将小部件字段(widget=forms.Textarea)呈现为文本区域,但由于字段被定义为小部件,因此表单无法识别该值。

EN

回答 1

Stack Overflow用户

发布于 2014-05-21 07:22:22

forms.py中添加小部件是实现此目的的最佳方法。如下所示:

代码语言:javascript
运行
复制
from django import forms
class CabModelForm( forms.ModelForm ):
    descr = forms.CharField( widget=forms.Textarea )
    class Meta:
        model = Cab

对于您的表单,从以下内容开始:

代码语言:javascript
运行
复制
<form action="/contact/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>

你的表单是worK吗?它至少应该能用最少的代码工作。如果不是,很可能是views.py中的某个地方出错了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23771128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档