Configurando um post único no template post.html

This commit is contained in:
Luiz Otávio
2023-04-27 10:48:27 -03:00
parent 822d56db61
commit 5f1f4e36ae
4 changed files with 34 additions and 6 deletions

View File

@@ -31,7 +31,7 @@ body {
}
@media (min-width: 600px) {
.content {
.content:not(:has(.single-post)) {
grid-template-columns: repeat(auto-fill, minmax(32rem, 1fr));
}
}

View File

@@ -0,0 +1,16 @@
{% extends 'global/base.html' %}
{% block texto %} {{ text }} {% endblock texto %}
{% block posts %}
<article class="post single-post">
<header>
<h1 class="post__title">
<a href="{% url 'blog:post' post.id %}">
{{ post.title }}
</a>
</h1>
</header>
<div class="post__body">{{ post.body }}</div>
</article>
{% endblock posts %}

View File

@@ -8,6 +8,6 @@ app_name = 'blog'
# https://docs.djangoproject.com/en/4.2/topics/http/urls/
urlpatterns = [
path('', views.blog, name='home'),
path('<int:id>/', views.post, name='post'),
path('<int:post_id>/', views.post, name='post'),
path('exemplo/', views.exemplo, name='exemplo'),
]

View File

@@ -1,4 +1,7 @@
from typing import Any
from blog.data import posts
from django.http import HttpRequest
from django.shortcuts import render
@@ -17,17 +20,26 @@ def blog(request):
)
def post(request, id):
print('post', id)
def post(request: HttpRequest, post_id: int):
found_post: dict[str, Any] | None = None
for post in posts:
if post['id'] == post_id:
found_post = post
break
if found_post is None:
raise Exception('Post não existe.')
context = {
# 'text': 'Olá blog',
'posts': posts
'post': found_post,
'title': found_post['title'] + ' - ',
}
return render(
request,
'blog/index.html',
'blog/post.html',
context
)