Django выполняет предыдущее действие при обновлении

Я попытался добавить книгу в базу данных с помощью HTML-формы. После отправки, страница перенаправляет на страницу, где перечислены все книги. Затем каждый раз, когда я обновляю страницу, данные дублируются. Как мне решить эту проблему?

Это мой URLS.py

from django.urls import path
from . import views
app_name='library'
urlpatterns =[
    path('', views.home, name='home'),
    path('book/',views.book,name='book'),
    path('book_details/<int:book_id>',views.book_details,name='book_details'),
    path('book_edit/<int:book_id>',views.book_edit,name='book_edit'),
    path('book_delete/<int:book_id>',views.book_delete,name='book_delete'),
    path('update/<int:book_id>',views.update,name='update'),
    path('author/',views.author_view,name='author_view'),
    path('addbook/',views.add_book,name='add_book'),
    path('books/',views.add_submit,name='add_submit'),
    
]

Это мой VIEWS.py


def add_submit(request): 
    if request.method =='POST':
        title=request.POST.get('t_title')
        print(title)
        author_name=request.POST.get('a_author')
        author, created=Author.objects.get_or_create(Name=author_name)
        summary=request.POST.get('s_summary')
        date=request.POST.get('d_date')
        book=Book(Title=title,Author=author,Summary=summary,Published_date=date)
        book.save()
        books=Book.objects.all()

        return render(request,'books.html',{'books':books})

#Это моя ФОРМА

<form action="{% url 'library:add_submit'  %}" method="POST">
            {% csrf_token %}
        
            
            <div class="form-outline mb-4">
              <input type="text" id="bname" name="t_title" class="form-control" />
              <label class="form-label"   for="bname">Title</label>
            </div>
          
           
            <div class="form-outline mb-4">
              <input type="text" id="bauthor" name="a_author" class="form-control" />
              <label class="form-label"  for="bauthor">Author</label>
            </div>

            <div class="form-outline mb-4">
                <textarea  rows="5" cols="33" id="bsummary"  name="s_summary" class="form-control"></textarea>
                <label class="form-label" for="bsummary">Summary</label>
              </div>

              <div class="form-outline mb-4">
                <input type="date" placeholder="" id="pdate" name="d_date" class="form-control" />
                <label class="form-label" for="pdate">Published_Date</label>
              </div>
          
          
          
            <!-- Submit button -->
            <button type="submit" class="btn btn-primary btn-block">SUBMIT</button>
          </form>

Это наиболее распространенная проблема, дело в том, что после работы с данными POST вы всегда должны возвращать HttpResponseRedirect, совет не относится к Django, но это хорошая веб-практика в целом, так:

urls.py:

urlpatterns =[
    ...
    path("success/", views.success, name="success"
    
]

views.py:

def add_submit(request): 
    if request.method =='POST':
        title=request.POST.get('t_title')
        print(title)
        author_name=request.POST.get('a_author')
        author, created=Author.objects.get_or_create(Name=author_name)
        summary=request.POST.get('s_summary')
        date=request.POST.get('d_date')
        book=Book(Title=title,Author=author,Summary=summary,Published_date=date)
        book.save()
        return redirect("library:success")

    else:
        books=Book.objects.all()

    return render(request,'books.html',{'books':books})

def success(request):
    return render("success.html")

success.html

<h2> The form has been successfully submitted.</h2>

<a href="{% url 'library:add-submit' %}"> Go back to form</a>
Вернуться на верх