为了账号安全,请及时绑定邮箱和手机立即绑定

Django表单中的CSS样式

Django表单中的CSS样式

繁华开满天机 2019-11-22 12:50:53
我想样式如下:forms.py:from django import formsclass ContactForm(forms.Form):    subject = forms.CharField(max_length=100)    email = forms.EmailField(required=False)    message = forms.CharField(widget=forms.Textarea)contact_form.html:<form action="" method="post">  <table>    {{ form.as_table }}  </table>  <input type="submit" value="Submit"></form>例如,如何设置一个类或ID为subject,email,message以提供外部样式表到?
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

class MyForm(forms.Form):

    myfield = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myfieldclass'}))

要么


class MyForm(forms.ModelForm):

    class Meta:

        model = MyModel


    def __init__(self, *args, **kwargs):

        super(MyForm, self).__init__(*args, **kwargs)

        self.fields['myfield'].widget.attrs.update({'class' : 'myfieldclass'})

要么


class MyForm(forms.ModelForm):

    class Meta:

        model = MyModel

        widgets = {

            'myfield': forms.TextInput(attrs={'class': 'myfieldclass'}),

        }

---编辑---

以上是对完成所要求内容的原始问题的代码进行的最简单的更改。如果您在其他地方重复使用表格,还可以避免重复。如果您使用Django的as_table / as_ul / as_p表单方法,则您的类或其他属性将正常工作。如果您需要完全控制以完全自定义渲染,则需要明确记录在案


-编辑2 ---

添加了更新的方法来为ModelForm指定小部件和属性。


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 1037 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信