Когда я пытаюсь использовать DetailView для просмотра своих сообщений, я получаю сообщение об ошибке исключения.
Неправильно настроен в / post / 1 /
В BlogDetailView отсутствует QuerySet. Определите BlogDetailView.model, BlogDetailView.queryset или переопределите BlogDetailView.get_queryset ().
Метод запроса: GET
URL запроса: http://127.0.0.1:8000/post/1/
Джанго версия: 2.2
Тип исключения: неправильно настроен
Значение исключения:
В BlogDetailView отсутствует QuerySet. Определите BlogDetailView.model, BlogDetailView.queryset или переопределите BlogDetailView.get_queryset ().
Расположение исключения: C: \ Users \ julia.virtualenvs \ Documents-SYi_ANcG \ lib \ site-packages \ django \ views \ generic \ detail.py в get_queryset, строка 73
Исполняемый файл Python: C: \ Users \ julia.virtualenvs \ Documents-SYi_ANcG \ Scripts \ python.exe
Версия Python: 3.7.3
Я пересмотрел свой код в отношении книги Джанго для начинающих Уилла Висента. Однако я не могу найти никаких проблем
models.py
from django.db import models
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey(
'auth.User',
on_delete=models.CASCADE,
)
body = models.TextField()
def __str__(self):
return self.title
views.py
from django.views.generic import ListView, DetailView # new
from .models import Post
# Create your views here.
class BlogListView(ListView):
model = Post
template_name = 'home.html'
class BlogDetailView(DetailView): # new
Model = Post
template_name = 'post_detail.html'
urls.py
# blog/urls.py
from django.urls import path
from .views import BlogListView, BlogDetailView # new
urlpatterns = [
path('post/<int:pk>/', BlogDetailView.as_view(), name='post_detail'), # new
path('', BlogListView.as_view(), name='home'),
]
post_detail.html
<!-- templates/post_detail.html-->
{% extends 'base.html' %}
{% block content %}
<div class="post-entry">
<h2>{{ post.title }}</h2>
<p>{{ post.body }}</p>
</div>
{% endblock content %}
Этот код должен позволять мне видеть мои сообщения, когда я просматриваю http://127.0.0.1/posts/1 или post / 2