diff --git a/.gitignore b/.gitignore index 7d9fd123..2d2b0cee 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ settings.py venv/ .vagrant /src +media/ diff --git a/cof/settings_dev.py b/cof/settings_dev.py index 6f2f21ac..36cd8a3a 100644 --- a/cof/settings_dev.py +++ b/cof/settings_dev.py @@ -116,6 +116,12 @@ USE_TZ = True STATIC_URL = '/static/' +# Media upload (through ImageField, SiteField) +# https://docs.djangoproject.com/en/1.9/ref/models/fields/ + +MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') +MEDIA_URL = '/media/' + # Various additional settings SITE_ID = 1 diff --git a/cof/urls.py b/cof/urls.py index e42af37c..b5d2b65a 100644 --- a/cof/urls.py +++ b/cof/urls.py @@ -1,4 +1,8 @@ +# -*-coding:utf-8 -* + +from django.conf import settings from django.conf.urls import patterns, include, url +from django.conf.urls.static import static import autocomplete_light @@ -69,4 +73,9 @@ urlpatterns = patterns( url(r'^utile_bda/bda_diff$', 'gestioncof.views.liste_bdadiff'), url(r'^utile_cof/diff_cof$', 'gestioncof.views.liste_diffcof'), url(r'^utile_bda/bda_revente$', 'gestioncof.views.liste_bdarevente'), -) +) + \ + (static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + if settings.DEBUG + else []) +# Si on est en production, MEDIA_ROOT est servi par Apache. +# Il faut dire à Django de servir MEDIA_ROOT lui-même en développement. diff --git a/gestioncof/migrations/0003_event_image.py b/gestioncof/migrations/0003_event_image.py new file mode 100644 index 00000000..6d65b1a6 --- /dev/null +++ b/gestioncof/migrations/0003_event_image.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('gestioncof', '0002_enable_unprocessed_demandes'), + ] + + operations = [ + migrations.AddField( + model_name='event', + name='image', + field=models.ImageField(upload_to=b'imgs/events/', null=True, verbose_name=b'Image', blank=True), + ), + ] diff --git a/gestioncof/models.py b/gestioncof/models.py index a564a747..d3074b70 100644 --- a/gestioncof/models.py +++ b/gestioncof/models.py @@ -105,6 +105,8 @@ class Event(models.Model): start_date = models.DateField("Date de début", blank=True, null=True) end_date = models.DateField("Date de fin", blank=True, null=True) description = models.TextField("Description", blank=True) + image = models.ImageField("Image", blank=True, null=True, + upload_to="imgs/events/") registration_open = models.BooleanField("Inscriptions ouvertes", default=True) old = models.BooleanField("Archiver (événement fini)", default=False)