首页 > 解决方案 > Crisp 不断抛出错误“BoundWidget”对象没有属性“字段”

问题描述

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

设置.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 标签(表单输入字段)做了一些样式设置。

表格.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']

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

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

标签: htmlcsspython-3.xdjango-formsdjango-crispy-forms

解决方案


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

{{form.first_name| as_crispy_field }}


推荐阅读