【问题标题】:Crisp keeps on throwing error 'BoundWidget' object has no attribute 'field'Crisp 不断抛出错误“BoundWidget”对象没有属性“字段”
【发布时间】:2020-04-18 14:07:21
【问题描述】:

在 Django 应用程序中使用清晰的标签创建用户注册表单。 以下是我的几个文件中的代码以提供帮助:

Settings.py

INSTALLED_APPS = [
'blog.apps.BlogConfig',
'users.apps.UsersConfig',
'crispy_forms',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

HTML 文件

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}

{% csrf_token %}
{{form.first_name|crispy}}
  {{form.last_name|crispy}}
{{form.username|crispy}}
{{form.email}}
{{form.password1|crispy}}
{{form.password2|crispy}}

其他陈述是 CSS 和 HTML,我觉得这不是这个问题的相关部分。不过我想补充一点,我确实为 Input 标签(表单输入字段)做了一些样式。

Form.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserRegisterForm(UserCreationForm):
    first_name = forms.CharField()
    last_name = forms.CharField()
    email = forms.EmailField()
    username = forms.TextInput(attrs={'placeholder': 'Username'})


    class Meta:
        model = User
        fields = ['first_name','last_name', 'username', 'email', 'password1', 'password2']

我添加了请求网页时抛出的错误截图:

问题的另一部分或我使用清晰的原因是我需要验证输入信息并希望相应地显示警告简而言之我想为注册表自定义错误的输入警告以引用此类文章很感激,因为我找不到。

【问题讨论】:

    标签: html css python-3.x django-forms django-crispy-forms


    【解决方案1】:

    我有同样的问题,试试这个,它对我有用: 在 html 文件中使用:

    {{form.first_name| as_crispy_field }}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2013-04-29
      • 2014-01-22
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      相关资源
      最近更新 更多