Я изучал Django, но у меня были проблемы, пожалуйста, помогите! Ошибка ни на сервере, ни на веб-странице отсутствует.
Моя домашняя страница (index. html) работает нормально, но DetailPage (post. html) отображается пустой.
blog / views .py
from .models import Article
from django.views import generic
class HomePage(generic.ListView):
template_name = 'blog/index.html'
queryset = Article.objects.filter().order_by('date')
context_object_name = 'Article_list'
class DetailPage(generic.DetailView):
template_name = 'blog/post.html'
model = Article
blog / urls.py
from django.urls import path
from . import views
app_name = 'blog'
urlpatterns = [
path('', views.HomePage.as_view(), name='home'),
path('<int:pk>/', views.DetailPage.as_view(), name='detail')
]
blog / models.py
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
slug = models.SlugField(max_length=200, unique=True)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
def snippet(self):
return self.body[:200]
blog / templates / blog / index. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body style="margin:10%">
{% for Article in Article_list %}
<h1 align="center" style="padding-bottom:20px">
<a href="{% url 'blog:detail' Article.id%}">{{Article.title}}</a>
</h1>
{{Article.date}}<br><br>
{{Article.snippet}}...<br><hr>
{% endfor %}
</body>
</html>
blog / templates / blog / post. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<h1>{{Article.body}}</h1>
{{Article.body}}<br>
{{Article.body}}
</body>
</html>
ПРИМЕЧАНИЕ: отображаются другие элементы веб-страницы, кроме Python переменных, т. Е. {{Article.body }}, {{Article.body}}, {{Article.body}}