【问题标题】:Django Crispy Forms does not display the border of a certain fieldDjango Crispy Forms 不显示某个字段的边框
【发布时间】:2021-10-24 10:18:17
【问题描述】:

我正在使用引导程序和清晰的表单来设计我的网站。 但是我所有的用户名字段周围的边框都不会显示。像这里所示(我切断了一些部分)。这让我很困惑,因为所有其他字段都正确显示:

我的代码(表单/HTML/视图)看起来像:

class LWRegisterForm(UserCreationForm):
    email = forms.EmailField(required=True)

    class Meta:  
        model = LWUser
        fields = ['username', 'email', 'password1', 'password2']

.

    ... 
    <form method="POST">
        {% csrf_token %}
        <fieldset class="form-group">
            {{ form|crispy }}
        </fieldset>
        <div class="form-group">
            <button class="btn btn-dark" type="submit">{% trans "Register" %}</button>
        </div>
    </form>

.

...
def get(self, request):
    form = LWRegisterForm()
    context = {'form': form}
    return render(request, 'users/register.html', context)

为了修复它,我尝试在 HTML 中使用 {% crispy update_form %}{{ update_form.username|as_crispy_field }} 而不是我的代码。两者仍然显示它没有边框。

我还尝试交换显示的东西的顺序

{{ update_form.email|as_crispy_field }}
{{ update_form.username|as_crispy_field }}

但用户名字段仍然没有边框。

我尝试通过 pip unistall 重新安装 django-crispy-forms。没用。

现在我没有想法了。会是什么?

【问题讨论】:

    标签: html django bootstrap-4 django-crispy-forms


    【解决方案1】:

    试试这样的 我还认为您加载了您在模板中正确形成的内容

     <form method="POST" action="">
            {% csrf_token %}
                <div class='col-lg-6'>{{ update_form.username|as_crispy_field }} 
                </div>
                 <div class='col-lg-6'>{{ update_form.email|as_crispy_field }}</div>
                 </div>
                <button class="btn btn-dark" type="submit">{% trans "Register" %} 
             </button>
            </div>
        </form>
    

    如果这仍然对您不起作用,请使用 forms.py 中的小部件为用户名提供 broder

    【讨论】:

    • 您上面的 html 解决方案不起作用。但它可以通过小部件添加自定义样式。谢谢
    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2020-01-21
    • 2015-02-19
    • 2012-08-22
    • 2019-12-31
    • 2014-12-07
    相关资源
    最近更新 更多