Я пытаюсь отобразить один пост в Django, но получаю: Server Error(500)

Я использую Django для отображения моделей моих постов. Когда я пытаюсь отобразить несколько постов, это работает, но один пост не работает. Я не совсем понимаю, почему. Вот что я сделал:

views.py

def post(request, pk):
post = Post.object.get(id=pk)

context = {'post': post}
return render(request, 'base/post.html', context)

urls.py

urlpatterns = [
path('', views.home, name="home"),
path('posts/', views.posts, name='posts'),
path('post/<str:pk>/', views.post, name='post'),]

post.html

    <h3>{{post.headline}}</h3>

    <h4>{{post.sub_headline}}</h4>

    <p>{{post.body|linebreaks}}</p>

Редактирование: Больше информации

Постовая модель

class Post(models.Model):
    headline = models.CharField(max_length=200)
    sub_headline = models.CharField(max_length=200, null=True, blank=True)
    # thumbnail =
    body = models.TextField(null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    active = models.BooleanField(default=False)
    featured = models.BooleanField(default=False)
    tags = models.ManyToManyField(Tag, null=True)
    # slug

    def __str__(self):
        return self.headline

post.html

    {% extends 'base/main.html' %}
{% load static %}
{% block content %}
<div class="main-container">
    <img src="{% static 'images/peace.png' %}">
    <h3>{{post.headline}}</h3>

    <h4>{{post.sub_headline}}</h4>

    <p>{{post.body|linebreaks}}</p>
</div>
{% endblock content %}

base/main.html

<!Doctype html>
{% load static %}
<html>
<head>
    <title>Peace Cyebukayire</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1" />

    <link href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap" rel="stylesheet">

    <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@500&family=Russo+One&display=swap" rel="stylesheet">

    <link rel="stylesheet" type="text/css" href="{% static 'css/default.css' %}">
</head>
<body>
    {% include 'base/navbar.html' %}
    {% block content %}
    <!-- Content goes here -->
    {% endblock content %}

</body>
</html>

Когда я устанавливаю Debug=True, вот что я получаю:

Traceback (most recent call last):
  File "/home/peace/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/peace/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/peace/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/peace/Desktop/Tutorials/Django/my-portfolio/base/views.py", line 24, in post
    post = Post.object.get(id=pk)

Exception Type: AttributeError at /post/1/
Exception Value: type object 'Post' has no attribute 'object'

Выпуск № 1
. Ваши представления очень плохо названы, ранее уже возникали проблемы, подобные вашей, из-за названий представлений. Ошибка иногда возникает, когда имя вашего представления конфликтует с вашей моделью/вашим собственным представлением/встроенными функциями Джанго

Выпуск № 2

post = Post.object.get(id=pk) # is WRONG
post = Post.objects.get(id=pk) # OBJECTS is the correct syntax
Вернуться на верх