0

I am creating a website with Django. I want to add an error message to the login and registration form, so if I click on the login / register button and have some fields filled in incorrectly or the username is already in use, a message will appear below each form field. I've already tried form.errors, but I couldn't style it with CSS and I also couldn't edit the text that showed up when I filled in some field wrong.

This is my login.html template:

{% extends 'base.html' %}
{% load static %}

{% block content %}
    <link rel="stylesheet" type="text/css" href="{% static "/css/login.css" %}">
    <div class="square-form">
        <form method="post" class="form-group">
            {% csrf_token %}
            <div class="username">
                <p class="username-p">Uživatelské jméno:</p>
                <div>{{ form.username }}</div>
            </div>
            <div class="password">
                <p class="password-p">Heslo:</p>
                <div>{{ form.password }}</div>
            </div>
            <p class="havent-account">Nemáte ještě účet? Vytvořte si ho zdarma <a href="/register">zde</a></p>
            <button type="submit" class="btn-btn-succes">Přihlásit se</button>
        </form>
    </div>

{% endblock %}

And this is my register.html template:

{% extends "base.html" %}
{% load static %}

{% block content %}
    <link rel="stylesheet" type="text/css" href="{% static "/css/register.css" %}">
    <div class="square-form">
        <form method="POST" class="form-group">
            {% csrf_token %}
            <div class="username">
                <p class="username-p">Uživatelské jméno*:</p>
                <div>{{ form.username }}</div>
            </div>
            <div class="email">
                <p class="email-p">Email*:</p>
                <div>{{ form.email }}</div>
            </div>
            <div class="password1">
                <p class="password1-p">Heslo*:</p>
                <div>{{ form.password1 }}</div>
                <p class="password1-helptext">*Musí mít nejméně 8 znaků, nesmí být jen z čísel</p>
            </div>
            <div class="password2">
                <p class="password2-p">Heslo znovu*:</p>
                <div>{{ form.password2 }}</div>
            </div>
            <p class="have-account">Máte již účet? Přihlaste se <a href="/login">zde</a></p>
            <button type="submit" class="btn-btn-succes">Zaregistrovat</button>
        </form>
    </div>
{% endblock %}
  • Does this answer your question? [Display django form error for each field in template and each correct data in template](https://stackoverflow.com/questions/38634914/display-django-form-error-for-each-field-in-template-and-each-correct-data-in-te) Also for custom error messages you can see [Create Custom Error Messages with Model Forms](https://stackoverflow.com/questions/3436712/create-custom-error-messages-with-model-forms) – Abdul Aziz Barkat Jul 02 '21 at 14:51

0 Answers0