Django: div class alert alertdanger不能正常工作

2022-01-29 09:26:37 标签 htmlcsspython-3.xdjango

我的forms。py:

class SignUpForm(forms.ModelForm):
    name = forms.CharField(label="name", required=True, widget=forms.TextInput())
    email = forms.CharField(label="email", required=True, widget=forms.TextInput())
    password = forms.CharField(label="password", widget=forms.PasswordInput(), required=True)
    confirm_password = forms.CharField(label="password", widget=forms.PasswordInput(), required=True)
    def clean(self):
        cleaned_data = super(SignUpForm, self).clean()
        password = cleaned_data.get("password")
        confirm_password = cleaned_data.get("confirm_password")
        if password != confirm_password:
            self.add_error('confirm_password', "Password and confirm password do not match")
        return cleaned_data
    class Meta:
        model = get_user_model()
        fields = ('name', 'email', 'password')

我的html文件:

{% block content %}
<form method="post">
  <div class="sign-card">
    <h3>Signup</h3>
    {% csrf_token %}
    <div class="input-div">
      <label for="{{ form.name.id_for_label }}">Username:</label>
      {{ form.name }}
    </div>
    <div class="input-div">
      <label for="{{ form.email.id_for_label }}">Email:</label>
      {{ form.email }}
    </div>
    <div class="input-div">
      <label for="{{ form.password.id_for_label }}">Password:</label>
      {{ form.password }}
    </div>
    <div class="input-div">
      <label for="{{ form.password.id_for_label }}">Confirm Password:</label>
      {{ form.confirm_password }}
    </div>
    {% if form.errors %}
       {% for field in form %}
           {% for error in field.errors %}
              <div class="alert alert-danger">
                   <strong>{{ error|escape }}</strong>
              </div>
           {% endfor %}
       {% endfor %}
    {% endif %}
    <button type="submit" class="btn">Sign up</button>
    <p>Already have account? <a href="{% url 'login' %}">Log In</a></p>
  </div>
</form>
{% endblock %}

我的views。py:

def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('name')
            password = form.cleaned_data.get('password')
            email = form.cleaned_data.get('email')
            user = authenticate(username=username, password=password, email=email)
            login(request, user)
            return redirect('index')
    else:
        form = SignUpForm()
    return render(request, 'registration/signup.html', {'form': form})

我面临的问题是

不能正常工作。它打印文本,使它粗体,但我没有CSS样式(如这里的例子:https://www。csestack。org/display-messages-form-submit-django/)。我不想使用Django消息,也不想改变views。py中的代码。我该如何补救呢?如果没有办法修复它没有这个变化,那么我如何修复的问题,修复我的视图。py?

非常感谢您的回答。

###实际上你缺少css文件来解释alert-danger class.

类。

你可以手动为它写css或者包含一些css库,比如bootstrap。

你可以在你的代码中做如下的事情:标签

<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
</head>

那么它应该可以正常工作。

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码