Почему моя главная страница не перенаправляет на детальный просмотр (Django)

Итак, дело в том, что я следую учебнику на codemy.com. Где-то до версии Django 5.0 я потерял свою "магию", учебник был написан для 3.8 или 4.X, возможно. Я показываю представление на основе функций, хотя я пробовал представление на основе классов, как предлагалось на codemy youtube. Причина, по которой я выбрал представление функций, заключается в том, что мне было проще отлаживать.

views.py

 from django.shortcuts import render
 from django.views.generic import ListView #DetailView
 from django.http import HttpResponse
 from .models import Post


 class Home(ListView):
     model = Post
     template_name = "home.html"


 def articleDetail(request, pk):
     try:
         obj = Post.objects.get(pk=pk)
         return render(request, "article_detail.html", {object, obj})
     except Post.DoesNotExist:
         print("Object number: " + str(pk) + " not found")
         return HttpResponse("Object number: " + str(pk) + " not found")

модель

 from django.db import models
 from django.contrib.auth.models import User


 class Post(models.Model):
     title = models.CharField(max_length=255)
     author = models.ForeignKey(User, on_delete=models.CASCADE)
     body = models.TextField()

     def __str__(self):
         return str(self.title) + ' by: ' + str(self.author)

файл урлов

 from django.urls import path,include
 from .views import Home, articleDetail

 urlpatterns = [
     path('', Home.as_view(), name="home"),
     path('article/<int:pk>', articleDetail,name="article-detail"),
         ]

шаблон для дома, работает нормально до редиректа

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Landing!!!</title>
     <h1> Home Pageeeeee</h1>
 </head>
 <body>
 <ul>
     <h2>Articles</h2>
     {% for article in object_list  %}
     <li>
         <a href="{$ url 'article-detail' article.pk %}">{{article.title}}</a>
         <br/>
         By: {{article.author}}
         <p>
             {{article.body}}
         </p>
     </li>
     {% endfor %}
 </ul>
 </body>
 </html>

Я думаю, что моя ошибка заключается либо в том, как я передаю первичный ключ для поиска объекта, либо в том, как я запрашиваю URL-файл для нахождения документа

Вы выполняете итерацию по "списку_объектов", которому ваша функция не передает такой контекст: {object, obj}.

Если вы хотите получить доступ к вашим статьям на главной странице, вам не нужен отдельный класс или функция view. Так как вы используете django templating, я предполагаю, что вы не используете JS для загрузки в представление. Таким образом, теперь у вас будут статьи, которые вы можете зацикливать. Вам не нужна другая функция (Уберите (order_by("-created_at"), если у вас нет такой колонки, или если вы не хотите упорядочивать статьи).

)
class Home(ListView):
    model = Post
    template_name = "home.html"
    context_object_name = "articles"

    def get_queryset(self):
        return Post.objects.all().order_by("-created_at")
Вернуться на верх