Почему Django не выводит ошибки в форму?
Пишу пробный проект на Django. Есть форма для ввода данных, но она не выводит ошибки в форму. Если вывести через print(form.errors) то выводит ''
models.py
from django.db import models
from django.contrib.auth.models import User
class Links(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Пользователь')
long_url = models.CharField('Длинная ссылка', max_length=300)
short_url = models.SlugField('Сокращенная ссылка', max_length=50, unique=True)
title = models.CharField('Название для ссылки', max_length=80)
def __str__(self):
return self.title
views.py
from django.shortcuts import render, redirect
from django.views.generic import ListView
from .models import Links
from .forms import AddLinkForm
def links(request):
return render(request, 'main/main_page.html')
class LinksList(ListView):
model = Links
template_name = 'links/links.html'
ordering = ['-id']
def get_context_data(self, *, object_list=None, **kwargs):
ctx = super(LinksList, self).get_context_data(**kwargs)
user = self.request.user
links = Links.objects.filter(user=user)
form = AddLinkForm
ctx['form'] = form
ctx['links'] = links
return ctx
def post(self, request, *agrs, **kwargs):
post = request.POST.copy()
post['user'] = request.user
request.POST = post
form = AddLinkForm(request.POST)
if form.is_valid():
form.save()
return redirect('links')
forms.py
from django import forms
from .models import Links
class AddLinkForm(forms.ModelForm):
long_url = forms.CharField(
required=True,
label='Длинная ссылка',
widget=forms.TextInput(attrs={'placeholder': 'Введите длинную ссылку'})
)
short_url = forms.SlugField(
required=True,
label='Сокращенная ссылка',
widget=forms.TextInput(attrs={'placeholder': 'Введите сокращенную ссылку'})
)
title = forms.CharField(
required=True,
label='Введти название для вашей ссылки',
widget=forms.TextInput(attrs={'placeholder': 'Введите название здя вашей ссылки'})
)
class Meta:
model = Links
fields = ['user', 'long_url', 'short_url', 'title']
widgets = {'user': forms.HiddenInput()}
def __init__(self, *args, **kwargs):
kwargs.setdefault('label_suffix', ':')
super(AddLinkForm, self).__init__(*args, **kwargs)
Я переписываю метод post и скрываю поле user, может это как-то влияет на весь код. Буду рад любой помощи