Page not found при отправке формы в джанго

Пишу сайт на джанго, когда жму кнопку с типом submit для отправки данных из формы в базу данных, мне выдаёт ошибку page not found. я пробовал закомментировать redirect, результат не меняется. файл views:

from django.shortcuts import render, redirect
from .models import Article
from .forms import ArticleForm

# Create your views here.



def index(request):
    news=Article.objects.order_by('dateTime')
    return render(request, 'newslist/index.html', {'news':news})



def add(request):
    error=''
    if request.method=='POST':
        form=ArticleForm(request.POST)
        if form.is_valid():
            form.save()

            return redirect('news')
        else:
            error='Некорректные данные!'

    form=ArticleForm()
    data={'form':form, 'error':error}
    return render(request, 'newslist/add.html', data)

файл models:

from django.db import models


class Article(models.Model):
    header=models.CharField('Название', max_length=50)
    text=models.TextField('Текст', max_length=10000)
    dateTime=models.DateTimeField('Время и дата')
    def __str__(self):
        return self.header
    class Meta:
        verbose_name='Новость'
        verbose_name_plural='Новости'
    def get_absolute_url(self):
        return f'/{self.id}'

файл add.html:

{% extends 'newslist/layout.html' %}
{% block title %}


Добавить новость


{% endblock %}





{% block body %}

<div class="container">
    <form action="post" class="form" >
        {% csrf_token %}
        {{ form.header }}<br>
        {{ form.text }}<br>
        {{ form.dateTime }}<br>
        <span>{{ error }}</span>
        <button type="submit" class="add addnew">Добавить запись</button>
    </form>


</div>

файл forms:

from .models import Article
from django.forms import ModelForm, TextInput, Textarea, DateTimeInput

class ArticleForm(ModelForm):
    class Meta:
        model=Article
        fields=['header', 'text', 'dateTime']

        widgets={
            'header':TextInput(attrs={
                'class':'inputform inputname',
                'placeholder':'Название'
            }),
            'text':Textarea(attrs={
                'class':'inputform',
                'placeholder':'Текст'
            }),
            'dateTime': DateTimeInput(attrs={
                'class': 'inputform inputdate',
                'placeholder': 'Дата и время'
            })
        }

файл urls (в приложении):

from django.contrib import admin
from django.urls import path, include
from . import views

urlpatterns = [
    path('', views.index, name='main_page'),
    path('/add', views.add, name='add')
]

файл urls (в папке всего проекта):

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('newslist.urls'), name='news')
]

В шаблоне есть ошибка. В тэге <form> аттрибут action отвечает за URL, на который нужно отправлять запрос.

Поэтому для указания метода, нужно использовать атрибут method, а в action указать URL куда отправлять форму:

<form method="post" class="form" action="{% url 'add' %}">
Вернуться на верх