Also i18n on data in the DB.

This commit is contained in:
Julien Palard 2023-12-20 17:20:37 +01:00
parent 8285744dcb
commit 96e89d34c9
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
8 changed files with 58 additions and 1 deletions

View File

@ -35,6 +35,7 @@ ALLOWED_HOSTS = []
INSTALLED_APPS = [
'photos',
"modeltranslation",
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',

View File

@ -1,5 +1,8 @@
from django.contrib import admin
from modeltranslation.admin import TranslationAdmin
from photos.models import Media
admin.site.register(Media)
@admin.register(Media)
class MediaAdmin(TranslationAdmin):
...

View File

@ -0,0 +1,18 @@
# Generated by Django 5.0 on 2023-12-20 16:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("photos", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="media",
name="title",
field=models.CharField(default="Sans titre", max_length=500),
preserve_default=False,
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 5.0 on 2023-12-20 16:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("photos", "0002_media_title"),
]
operations = [
migrations.AddField(
model_name="media",
name="title_en",
field=models.CharField(max_length=500, null=True),
),
migrations.AddField(
model_name="media",
name="title_fr",
field=models.CharField(max_length=500, null=True),
),
]

View File

@ -2,6 +2,7 @@ from django.db import models
class Media(models.Model):
title = models.CharField(max_length=500)
photo = models.FileField(upload_to="photos/%Y/", null=True, blank=True)
video = models.FileField(upload_to="videos/%Y/", null=True, blank=True)

View File

@ -15,6 +15,7 @@
<main>
{% for media in medias %}
<section>
<h3>{{media.title}}</h3>
{% if media.photo %}
<img width="100%" src="{{ media.photo.url }}"/>
{% elif media.video %}

10
photos/translation.py Normal file
View File

@ -0,0 +1,10 @@
from modeltranslation.translator import TranslationOptions, translator
from photos.models import Media
class MediaTranslationOptions(TranslationOptions):
fields = ("title",)
translator.register(Media, MediaTranslationOptions)

View File

@ -1 +1,2 @@
django
django-modeltranslation