首页 > 解决方案 > 在 django 中注册的自定义表单不起作用:元标记模型显示没有错误,但不起作用

问题描述

我正在尝试引导我的自定义注册页面并修复我的元标记

我尝试过的事情:我在 forms.py 中更改了表单并添加了额外的字段当我从表单中删除元标记时,它根本没有任何效果,所以我假设那里有问题,但我可以不知道是什么

我正在使用内置的 Django 用户模型,并且我已经解决了许多与之相关的问题,但没有找到解决方案。任何帮助将不胜感激!

注意:重要的是,即使我在元标记中提到了不同的顺序,它也不能反映 html 页面中的标记顺序

我的代码也显示没有错误

这是我的forms.py

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


    class SignUpForm(UserCreationForm):
    email = forms.EmailField(widget = forms.EmailInput(attrs={'class' : 'form-control'}) )
    first_name = forms.CharField(max_length=100, widget = forms.TextInput(attrs={'class': 'form- 
    control'}))
    last_name = forms.CharField(max_length=100, widget = forms.TextInput(attrs={'class': 'form- 
    control'}))

    class Meta:
        model = User
        fields = ('username', 'password1', 'password2', 'first_name', 'last_name',  'email')



    def __init__(self, *args, **kwargs):
    super(SignUpForm,self).__init__(*args, **kwargs)

    self.fields['username'].widget.attrs['class'] : 'form-control'
    self.fields['password1'].widget.attrs['class'] : 'form-control'
    self.fields['password2'].widget.attrs['class'] : 'form-control'

这是我的意见.py

    from django.shortcuts import render
    from django.views import generic
    from django.contrib.auth.forms import UserCreationForm
    from django.urls import reverse_lazy
    from .forms import SignUpForm

    # Create your views here.
    class UserRegisterView(generic.CreateView):
        form_class = SignUpForm
        success_url = reverse_lazy('login')
        template_name = 'registration/signup.html'  

这是我的 urls.py

    from django.urls import path
    from .views import UserRegisterView

    urlpatterns = [
        path('signup/' , UserRegisterView.as_view(), name = 'signup'),

    ]

这是我得到的主页输出

登录页面输出

标签: pythondjangoauthenticationdjango-forms

解决方案


推荐阅读