diff --git a/eqy_fr/settings.py b/eqy_fr/settings.py index bcb70ba..3b22cee 100644 --- a/eqy_fr/settings.py +++ b/eqy_fr/settings.py @@ -35,6 +35,7 @@ ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'photos', + "modeltranslation", 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/photos/admin.py b/photos/admin.py index 988057d..1fb376c 100644 --- a/photos/admin.py +++ b/photos/admin.py @@ -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): + ... diff --git a/photos/migrations/0002_media_title.py b/photos/migrations/0002_media_title.py new file mode 100644 index 0000000..8f4d6a2 --- /dev/null +++ b/photos/migrations/0002_media_title.py @@ -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, + ), + ] diff --git a/photos/migrations/0003_media_title_en_media_title_fr.py b/photos/migrations/0003_media_title_en_media_title_fr.py new file mode 100644 index 0000000..3edfd5b --- /dev/null +++ b/photos/migrations/0003_media_title_en_media_title_fr.py @@ -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), + ), + ] diff --git a/photos/models.py b/photos/models.py index 3418486..9b3cd19 100644 --- a/photos/models.py +++ b/photos/models.py @@ -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) diff --git a/photos/templates/photos/index.html b/photos/templates/photos/index.html index 3dd8fa1..cca7da0 100644 --- a/photos/templates/photos/index.html +++ b/photos/templates/photos/index.html @@ -15,6 +15,7 @@
{% for media in medias %}
+

{{media.title}}

{% if media.photo %} {% elif media.video %} diff --git a/photos/translation.py b/photos/translation.py new file mode 100644 index 0000000..c26dcbd --- /dev/null +++ b/photos/translation.py @@ -0,0 +1,10 @@ +from modeltranslation.translator import TranslationOptions, translator + +from photos.models import Media + + +class MediaTranslationOptions(TranslationOptions): + fields = ("title",) + + +translator.register(Media, MediaTranslationOptions) diff --git a/requirements.txt b/requirements.txt index d3e4ba5..af96f95 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ django +django-modeltranslation