输入字段在 Django 用户注册表中始终标记为红色

Input fields are makred always RED in Djano UserRegistrationForm

我正在 Django 中创建用户身份验证系统。我设置的第一页是注册新用户。为此,我的 views.py 如下:

views.py

from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from .forms import UserRegisterForm
from django.contrib import messages # To give an alert when a valid data is received
# Create your views here.


def register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            messages.success(request, f'Your account has been created!')
            return redirect('login')
    else:
        form = UserRegisterForm(request.POST)
    return render(request, 'Agent/register.html', {'form': form})

和 html 文件如下:

register.html

{% extends "client_management_system/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
  <div class="content-section">
    <form method="POST">
      {% csrf_token %}
      <fieldset class="form-group">
        <legend class="border-bottom mb-4">Join Today</legend>
        {{ form|crispy }}
      </fieldset>
      <div class="form-group">
        <button class="btn btn-outline-info" type="submit">Sign Up</button>
      </div>
    </form>
    <div class="border-top pt-3">
      <small class="text-muted ">
        Already Have An Account? <a class="ml-2" href="{% url 'login' %}">Sign In</a>
      </small>

    </div>
  </div>
{% endblock content %}

注册页面的URL模式如下:

from django.contrib import admin
from django.urls import path, include
from django.contrib.auth import views as auth_views
from Agent import views as agent_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('client_management_system.urls')),
    path('register/', agent_views.register, name='register'),
]

但是我的注册字段总是红色的,如下所示:

有没有人知道如何使它们正常化?并在字段留空并按下“注册”按钮时将字段设为红色。

else: 子句中,您应该初始化一个新表单,而不是使用 request.POST 数据(您没有)

else:
    form = UserRegisterForm()

(而且else这里不需要)