Страница не найдена (404) при добавлении страницы Django

Итак, я пытаюсь связать страницу в своем блоге. Я создал шаблон, вид и URL для страницы, но она продолжает выдавать ошибку 404. Не мог бы кто-нибудь просмотреть мой код и помочь мне разобраться в проблеме?

add_post.html:

{% extends "base.html" %}

{% block content %}

<header>
    <div class="post-caption mt-4">
        <div class="text-center-caption">
            <h1 class="display-5 fw-bolder text-shadow">Add Your Post</h1>
            <p class="lead text-shadow fw-bold">Tell us about your favourite game</p>
        </div>
    </div>
</header>

{%endblock%}

views.py:

    from django.shortcuts import render, get_object_or_404, reverse
    from django.views.generic import View, CreateView, ListView
    from django.http import HttpResponseRedirect
    from .models import Post
    from .forms import CommentForm

class AddPost(CreateView):
    model = Post
    template_name = 'add_post.html'
    fields = '__all__'

urls.py:

from .views import AddPost, PostList, PostDetail, PostLike
from django.urls import path


urlpatterns = [
    path('', PostList.as_view(), name='home'),
    path('<slug:slug>/', PostDetail.as_view(), name='post_detail'),
    path('like/<slug:slug>/', PostLike.as_view(), name='post_like'),
    path('add_post/', AddPost.as_view(), name='create_post'),
]

Порядок шаблона URL чувствителен. У вас есть "catchall" URL, определенный с помощью path('<slug:slug>/', PostDetail.as_view(), name='post_detail'),. Поэтому add_post может быть правильным slug для поста, что и вызывает конфликт.

Просто измените порядок ваших шаблонов URL на следующий:

from .views import AddPost, PostList, PostDetail, PostLike
from django.urls import path


urlpatterns = [
    path('', PostList.as_view(), name='home'),
    path('like/<slug:slug>/', PostLike.as_view(), name='post_like'),
    path('add_post/', AddPost.as_view(), name='create_post'),
    path('<slug:slug>/', PostDetail.as_view(), name='post_detail'),
]
Вернуться на верх