diff --git a/aula207_ola_django/base/static/global/css/style.css b/aula207_ola_django/base/static/global/css/style.css
index 29c2637..93a1a51 100644
--- a/aula207_ola_django/base/static/global/css/style.css
+++ b/aula207_ola_django/base/static/global/css/style.css
@@ -31,7 +31,7 @@ body {
}
@media (min-width: 600px) {
- .content {
+ .content:not(:has(.single-post)) {
grid-template-columns: repeat(auto-fill, minmax(32rem, 1fr));
}
}
diff --git a/aula207_ola_django/blog/templates/blog/post.html b/aula207_ola_django/blog/templates/blog/post.html
new file mode 100644
index 0000000..4bb9923
--- /dev/null
+++ b/aula207_ola_django/blog/templates/blog/post.html
@@ -0,0 +1,16 @@
+{% extends 'global/base.html' %}
+
+{% block texto %} {{ text }} {% endblock texto %}
+
+{% block posts %}
+
+
+ {{ post.body }}
+
+{% endblock posts %}
diff --git a/aula207_ola_django/blog/urls.py b/aula207_ola_django/blog/urls.py
index b549337..7d81bf8 100644
--- a/aula207_ola_django/blog/urls.py
+++ b/aula207_ola_django/blog/urls.py
@@ -8,6 +8,6 @@ app_name = 'blog'
# https://docs.djangoproject.com/en/4.2/topics/http/urls/
urlpatterns = [
path('', views.blog, name='home'),
- path('/', views.post, name='post'),
+ path('/', views.post, name='post'),
path('exemplo/', views.exemplo, name='exemplo'),
]
diff --git a/aula207_ola_django/blog/views.py b/aula207_ola_django/blog/views.py
index 87071b6..88bc679 100644
--- a/aula207_ola_django/blog/views.py
+++ b/aula207_ola_django/blog/views.py
@@ -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
)