html - 使用 Django-Crispy-Forms 的 Django-Allauth 样式登录表单

标签 html css django forms django-allauth

我正在使用 django-crispy-forms 来设置 django-allauth login.html 的登录表单的样式

  <form class="login" method="POST" action="{% url 'account_login' %}">
    {% csrf_token %}
    {{ form|crispy }}
    {% if redirect_field_value %}
    <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
    {% endif %}
    <a class="button secondaryAction" href="{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
    <button class="primaryAction" type="submit">{% trans "Sign In" %}</button>
  </form>

但是,表单 {{ field.label }} 不是与 {{ field }}“内联”的。有没有一种简单的方法可以使它们内联,同时仍然使用 django-crispy-form 或类似的东西来修饰外观?

我还想学习如何隐藏显示的{{ field.label }}。我唯一能想到的就是循环遍历表单的字段,并在以下答案中注释掉标签显示。

Django Forms and Bootstrap - CSS classes and <divs>

最佳答案

是的,您可以使标签与它们相关的字段内联。使用自定义 css 重写 bootstrap.css。更具体地说,您需要制作包含输入和错误消息的div.controls,显示为inline-block:

div.controls{
    display: inline-block;
}

根据您当前的页面样式、您要在页面上呈现的内容(字段、标签、错误消息等)以及它的外观(例如,是否在包含错误消息的行中),您可能还需要更改 input.form-control 的宽度和显示属性以及错误消息。

为了隐藏标签,在 forms.py 中将其设置为空:

somefield = forms.CharField(label='', ...)

这将使标签消失。

关于html - 使用 Django-Crispy-Forms 的 Django-Allauth 样式登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32998734/

相关文章:

css - 重叠的照片

javascript - 在具有最大高度的子元素中自动滚动

python - 如何将参数传递给信号

javascript - 如何在同一页面中使用多个 this.state 计数器来递增单独的变量

html - 使用 Wordpress 循环显示缩略图和摘录

css - 全屏图像在移动设备上看起来不太好

python - 如何使用 ensure_csrf_cookie?

python - 用于对象历史的 Model Mixin

javascript - 以 100% 宽度或适合浏览器的大小显示图像

php - javascript悬停在动态功能上不起作用