css - Django 注册 Redux 自定义

标签 css django django-forms

我一直试图对此给出一个清晰、简单的答案,但我似乎无法从文档或堆栈溢出中提取任何有意义的内容。

我已经实现了 Django Registration Redux 附带的标准模板,但我似乎无法弄清楚如何更改 Redux 中默认的表单样式和文本副本。

这是我的 html:

{% extends 'base.html' %}
{% block title %}
    Registration Form - {{ block.super }}
{% endblock title %}
{% block content %}
<div class="content-wrapper">
    <div class="content">
        <div class="pure-g">
            <div class="is-center pure-u-1">
                <div class="pure-u-1-2 thin-box">
                    <h1>Registration form</h1>
                    <form role="form" action="" method="post">
                        {% csrf_token %}
                        {{ form.as_p }}
                        <input type="submit" value="Submit" class="s-button"/>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
{% endblock content %}

如您所见,我已经为按钮设置了样式,但没有任何元素可用于设置样式。 redux 数据一定在某个地方,但我不知道它在哪里。

SO 上有人建议使用 crispy 表单,但我使用的是 pureCSS 而不是 bootstrap,而且我已经不厌其烦地设置了一组我想使用的表单样式,所以这似乎有点过分了安装具有一组样式的模块,然后我必须覆盖这些样式。

最佳答案

如果我对您的理解正确,您想要访问各个字段。要访问它们,您可以获取字段名称 here .

所以在模板中而不是 {{ form.as_p }} 你可以像这样使用单独的字段:

例如{{ form.username }}。

如果您还想添加样式,那么您需要使用如下过滤器: {{ 表单.用户名 | add_some_css:“my_new_class”}}。此样式需要在单独的文件中配置,例如redux_css.py。要让您的模板使用此文件,您需要在 {% extends 'base.html' %} 之后包含以下 {% load redux_css %}。

现在您需要创建 redux_css.py:

from django import template

register = template.Library()

@register.filter
def add_some_css(field, css):
    """
    Adds css to fields in Redux templates
    """
    return field.as_widget(attrs={"class":css})

所有这些应该使你的 redux 字段(文本输入)的样式如下:class="my_new_class"

显然,您需要创建 .css 文件并将它们“导入”到您的 .html 文件中。

PS 你可能还需要访问字段错误,你可以使用 {{ form.username.erros }}

关于css - Django 注册 Redux 自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36371243/

相关文章:

html - Accordion h3 文本在 IE 中消失

jquery - 当背景覆盖自动缩放时,如何获取缩放图像的比例?

html - Sencha 触摸 2 : How to handle custom css files while production build?

html - 我的 Bootstrap 汉堡菜单不显示链接

django - Django 和 Celery 示例 : Periodic Tasks

django - Django中的自定义纬度/经度表单字段

python - 如何在admin外使用Django-import-export ImportForm和ConfirmImportForm

django - 在 Django 中从 direct_to_template 移动到新的 TemplateView

python - Django -objects.all() 不显示任何内容

django - 验证 Django ModelForm 中的数据