Ajout des fonctionnalités de blog : modèles, migrations, vues, templates, contexte et styles.

This commit is contained in:
mrtoine 2025-12-15 20:58:25 +01:00
parent 3e44013132
commit c1749068af
16 changed files with 245 additions and 9 deletions

View file

@ -4,6 +4,5 @@ from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('name', 'tags', 'slug', 'created_at')
list_filter = ('created_at',)
search_fields = ('name', 'tags')
prepopulated_fields = {"slug": ("name",)}

View file

@ -0,0 +1,5 @@
from .models import Post
def posts_list(request):
posts = Post.objects.all()
return {'posts': posts}

View file

@ -0,0 +1,18 @@
# Generated by Django 6.0 on 2025-12-15 19:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('blog', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='post',
name='enable',
field=models.BooleanField(default=True),
),
]

View file

@ -7,6 +7,7 @@ class Post(models.Model):
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
enable = models.BooleanField(default=True)
class Meta:
verbose_name = "Article"

View file

@ -4,5 +4,5 @@ from . import views
app_name = 'blog'
urlpatterns = [
path('', views.blog_home, name='blog'),
path('<int:slug>/', views.blog_view_post, name='post_detail'),
path('<str:slug>/', views.blog_view_post, name='post_detail'),
]

View file

@ -1,7 +1,11 @@
from django.shortcuts import render
def blog_home(request):
return ""
from blog.models import Post
def blog_view_post(request):
return ""
def blog_home(request):
return render(request, 'blog/home.html')
def blog_view_post(request, slug):
post = Post.objects.get(slug=slug)
return render(request, 'blog/details.html', {'post': post})