如何将自定义 CSS 添加到脆皮表单?

2024-05-07

我正在尝试在脆皮表单的帮助下为我的网站创建一个响应式表单。我没有使用引导程序,我想将自定义 CSS 添加到脆皮表单以匹配我的整个网站。

HTML:

<form method='POST' action=''>{% csrf_token %}

            {{ form|crispy }}

                    <input type='submit' value='Sign Up' />



            </form>

使用检查元素显示:

            <form method='POST' action=''><input type='hidden' name='csrfmiddlewaretoken' value='GLJMxnnDz1MGNFC46pjoofSlo6JMCD1IXu7X3n7LsRbQfdS38SYHJMs9IAXddcck' />



<div id="div_id_full_name" class="form-group"> <label for="id_full_name" class="control-label ">
                Full name
            </label> <div class="controls "> <input class="textinput textInput form-control" id="id_full_name" maxlength="120" name="full_name" type="text" /> </div> </div> <div id="div_id_email" class="form-group"> <label for="id_email" class="control-label  requiredField">
                Email<span class="asteriskField">*</span> </label> <div class="controls "> <input class="emailinput form-control" id="id_email" maxlength="254" name="email" type="email" required /> </div> </div>


        <!--    <input class='btn btn-primary' type='submit' value='Sign Up' />-->
                        <input type='submit' value='Sign Up' />



            </form>

形式.py:

from django import forms

from .models import SignUp

class ContactForm(forms.Form):
    full_name = forms.CharField(required=False)
    email = forms.EmailField()
    message = forms.CharField()


class SignUpForm(forms.ModelForm):
    class Meta:
        model = SignUp
        fields = ['full_name', 'email']

模型.py:

from __future__ import unicode_literals

# Create your models here.
from django.db import models

# Create your models here.
class SignUp(models.Model):
    email = models.EmailField()
    full_name = models.CharField(max_length=120, blank=True, null=True)
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __unicode__(self): #Python 3.3 is __str__
        return self.email

As 文档说 http://django-crispy-forms.readthedocs.io/en/latest/install.html#template-packs,默认使用bootstrap的脆皮表单,并且还提供了一些模板包bootstrap, bootstrap3, bootstrap4 and uni-form。另请参阅关于覆盖项目模板 http://django-crispy-forms.readthedocs.io/en/latest/layouts.html#overriding-project-templates

如果您需要自定义这个脆皮表单,您需要为您的项目创建一个新的自定义模板,例如crispy_forms/templates/<foobar>/。您可以在存储库的此路径中签出:https://github.com/django-crispy-forms/django-crispy-forms/tree/dev/crispy_forms/templates https://github.com/django-crispy-forms/django-crispy-forms/tree/dev/crispy_forms/templates


但是,以前的脆皮表单具有模板标签来处理特定字段。其中之一是{{ form.field_name|as_crispy_field }} http://django-crispy-forms.readthedocs.io/en/latest/_modules/templatetags/crispy_forms_filters.html,下面这个例子是它的输出。

<div id="div_id_email" class="control-group">
  <label for="id_email" class="control-label">Email address</label>
  <div class="controls">
    <input class="form-control" id="id_email" maxlength="254" name="email" required="required" type="email" />
  </div>
</div>

其他选项,您可以使用表单小部件内的特定 html 选择器/属性来处理它,例如 htmlclass, id, style, 要不然。

例如你的情况;

class SignUpForm(forms.ModelForm):

    class Meta:
        model = SignUp
        fields = ['full_name', 'email']
        widgets = {
          'email': forms.EmailInput(attrs={'class': 'form-control custom-class'}),
        }

然后,如果你渲染为{{ form.email|as_crispy_field }},这应该呈现 html;

<div id="div_id_email" class="control-group">
  <label for="id_email" class="control-label">Email address</label>
  <div class="controls">
    <input class="form-control custom-class" id="id_email" maxlength="254" name="email" required="required" type="email" />
  </div>
</div>

Crispy 表单还提供了简单的内部配置settings.py, Django 字段生成默认类,crispy-forms 处理这些并添加其他类以与 CSS 框架兼容。例如一个CharField生成一个<input class="textinput", 了解更多... http://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes

CRISPY_CLASS_CONVERTERS = {
    'textinput': "form-control cst__radius",
    'urlinput': "form-control cst__radius",
    'numberinput': "form-control cst__radius",
    'emailinput': "form-control cst__radius",
    'dateinput': "form-control cst__radius",
    'textarea': "form-control cst__radius",
    'passwordinput': "form-control cst__radius",
    'select': "form-control cst__radius",
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将自定义 CSS 添加到脆皮表单? 的相关文章

随机推荐

  • 执行命令不会在后面的资源字典代码中触发

    我已经为其创建了资源字典和代码隐藏文件 在 XAML 中 我定义了命令绑定并添加了执行处理程序
  • Android 按文件夹列出音乐并播放

    我正在开发已经上市的安卓音乐播放器 用户要求添加一个文件夹视图来列出智能手机中包含音乐的所有文件夹 我想开发它 MediaStore 已经知道要遵循的正确路径 因为它需要知道它们每次重新扫描 SD 卡 所以我想知道是否有办法获取这些路径并使
  • Stripe Connect - 检索访问令牌

    我正在尝试为 Rails 3 2 13 应用程序设置 Stripe Connect 我已将用户引导至 Stripe 并收到了来自 Stripe 的授权码 HTTP 1 1 302 Found Location http localhost
  • 如何在 PHP 中解密密码哈希?

    我需要解密密码 密码已加密password hash功能 password examplepassword crypted password hash password PASSWORD DEFAULT 现在 我们假设 crypted存储在
  • Opencv未找到所有轮廓

    我试图找到该图像的轮廓 但是该方法查找轮廓只返回1轮廓 轮廓突出显示image 2 我正在努力寻找all外部轮廓就像这些圆圈 里面有数字 我究竟做错了什么 我可以做什么来实现它 image 1 image 2 以下是我的代码的相关部分 th
  • MSBuild - 我可以编译子目录中的所有解决方案吗?

    MSBuild 中有没有一种方法可以编译指定父级下的文件夹 子文件夹和子 中的所有解决方案 我们的库附带了很多示例程序 我想添加到构建过程中 我们知道它们都会编译 您可以创建自己的targets for restore and build运
  • 从命令提示符启动mysql服务器时出错

    我是 sql 新手 我安装了 mysql 并且正在阅读这本书 Java 如何编程连接到 mysql 我收到以下错误 关于时间戳 我明白原因 但我正在尝试修复 无法创建测试文件 C Program Files MySQL MySQL Serv
  • 如何在 Dart 中传递常见参数?

    说吧 我有 callback orderBy foo reverse true localToThis callback orderBy foo reverse true 您可以在两个回调中看到 我传递了相同的参数 foo reverse
  • 如何为 Safari 浏览器设置媒体查询

    media only screen and min width 480px and max width 767px 这是我的媒体查询如何修复它 如何设置 safari 网络浏览器 媒体查询不是为了浏览器检测而进行的 使用 javascrip
  • 有没有办法确定特定地址是否位于 x 英里内的路线沿线?

    有没有办法确定特定地址是否位于 x 英里内的路线沿线 Google 地图 API 是否支持此功能 我有一个地址数据库 我试图找出 Google 地图 API 确定的给定路线上的哪些位置 您可以设置获取折线 http code google
  • 将文本文件中的多行组合/合并为一行 (Powershell)

    我有一个文本文件 其中包含如下内容 blah blah blah Text string1 string2 string3 string4 string5 string6 blah blah blah Text string7 string
  • Spring MVC 3 中的表单提交 - 说明

    我在理解 Spring 3 MVC 中的表单提交如何工作时遇到问题 我想做的是创建一个控制器 它将获取用户的名字并将其显示给他 不知怎的 我已经做到了 但我不太明白它是如何工作的 所以 我有一个看起来像这样的表格
  • RavenDb 和多租户

    我已经研究并使用了 RavenDb 一段时间 并开始考虑 MultiTenancy 多租户 Ayendes 示例如下所示 using var store new DocumentStore Url http localhost 8080 I
  • 调用 DynamoDB 中的用户数据时渲染得太晚

    所以我试图从dynamoDB 我正在使用一个GraphQL API访问我的数据库 在提供的代码的注释部分中 我提到我已经尝试过users 1 friends map 它确实返回正确的朋友列表数组 但用户似乎直到朋友列表渲染后才被设置 我应该
  • 如何滚动到 div 元素底部 Selenium Webdriver

    我有一个用例 其中网页上有一个 div 元素 只要您单击链接 它就会出现一个弹出对话框 它不是实际的弹出窗口 它类似于当您单击链接进行检查时在 Facebook 中打开的对话框 对您的帖子的反应等 我使用 Selenium WebDrive
  • 如何仅对暂存内容运行 git 预提交检查?

    Suppose git status给出这个 On branch X Changes to be committed use git reset HEAD
  • 在 PLSQL 条件逻辑中使用子查询;错误 PLS-00405

    我正在构建一个使用 PHP 从 Oracle10g 数据库服务器获取数据的应用程序 我的输入表单有一系列复选框 这些复选框通过数组提交到处理页面 代码过滤到相关元素
  • IntelliJ IDEA 中的自动错误检测

    我是 Java 编程语言和 IntelliJ IDEA 2017 1 IDE 的新手 我刚刚安装了 IDE 并激活了所有各种检查 但每当我犯了错误 例如省略括号或分号 时 IDE 都无法检测到错误 此图像显示激活的检查 This is a
  • WordPress 3.3 CSS 中的相对路径

    我想添加一个图像作为标题的背景 问题是我不想添加绝对路径 因为我是在我的电脑上执行此操作 并且它们要上传到我的服务器 应该在CSS中工作 它在这里不起作用 code branding background url images backgr
  • 如何将自定义 CSS 添加到脆皮表单?

    我正在尝试在脆皮表单的帮助下为我的网站创建一个响应式表单 我没有使用引导程序 我想将自定义 CSS 添加到脆皮表单以匹配我的整个网站 HTML