From d6fdc0e799e9a013801bf6275dc22d4db7d2851b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20Cz=C3=A9m=C3=A1n?= <trabarni@gmail.com> Date: Thu, 5 Apr 2018 10:56:21 +0200 Subject: [PATCH] Modify homework models & fix some settings --- environment.bat.example | 1 + environment.ps1.example | 1 + environment.sh.example | 1 + src/homework/migrations/0001_initial.py | 37 +++++-------- .../migrations/0002_auto_20180124_1453.py | 53 ------------------- .../migrations/0003_auto_20180124_1818.py | 22 -------- .../migrations/0004_auto_20180125_1817.py | 22 -------- .../migrations/0004_auto_20180204_1209.py | 22 -------- .../migrations/0005_auto_20180126_0135.py | 20 ------- .../migrations/0005_auto_20180204_1525.py | 20 ------- .../migrations/0006_auto_20180204_1601.py | 20 ------- .../migrations/0007_merge_20180205_2021.py | 14 ----- .../migrations/0007_merge_20180209_1734.py | 14 ----- .../migrations/0008_auto_20180221_1135.py | 24 --------- .../migrations/0009_merge_20180404_0825.py | 14 ----- .../migrations/0010_auto_20180404_0828.py | 30 ----------- .../migrations/0011_auto_20180404_0853.py | 25 --------- .../migrations/0012_auto_20180404_1253.py | 20 ------- src/homework/models.py | 29 +++++----- src/homework/myfields.py | 41 -------------- src/homework/serializers.py | 9 ++-- src/kszkepzes/settings/base.py | 3 ++ src/kszkepzes/urls.py | 6 ++- 23 files changed, 42 insertions(+), 406 deletions(-) delete mode 100644 src/homework/migrations/0002_auto_20180124_1453.py delete mode 100644 src/homework/migrations/0003_auto_20180124_1818.py delete mode 100644 src/homework/migrations/0004_auto_20180125_1817.py delete mode 100644 src/homework/migrations/0004_auto_20180204_1209.py delete mode 100644 src/homework/migrations/0005_auto_20180126_0135.py delete mode 100644 src/homework/migrations/0005_auto_20180204_1525.py delete mode 100644 src/homework/migrations/0006_auto_20180204_1601.py delete mode 100644 src/homework/migrations/0007_merge_20180205_2021.py delete mode 100644 src/homework/migrations/0007_merge_20180209_1734.py delete mode 100644 src/homework/migrations/0008_auto_20180221_1135.py delete mode 100644 src/homework/migrations/0009_merge_20180404_0825.py delete mode 100644 src/homework/migrations/0010_auto_20180404_0828.py delete mode 100644 src/homework/migrations/0011_auto_20180404_0853.py delete mode 100644 src/homework/migrations/0012_auto_20180404_1253.py delete mode 100644 src/homework/myfields.py diff --git a/environment.bat.example b/environment.bat.example index 7b9d14b..f13f7a2 100644 --- a/environment.bat.example +++ b/environment.bat.example @@ -1,3 +1,4 @@ setx SECRET_KEY <CHANGE_TO_SECRET> setx AUTHSCH_KEY <CHANGE_TO_CLIENT_ID> setx AUTHSCH_SECRET <CHANGE_TO_AUTHSCH_SECRET> +setx MEDIA_ROOT <DIRECTORY_OF_MEDIA> diff --git a/environment.ps1.example b/environment.ps1.example index 9b56e25..6fade2f 100644 --- a/environment.ps1.example +++ b/environment.ps1.example @@ -1,3 +1,4 @@ $env:SECRET_KEY=<CHANGE_TO_SECRET> $env:AUTHSCH_KEY=<CHANGE_TO_CLIENT_ID> $env:AUTHSCH_SECRET=<CHANGE_TO_AUTHSCH_SECRET> +$env:MEDIA_ROOT=<DIRECTORY_OF_MEDIA> diff --git a/environment.sh.example b/environment.sh.example index 14c4e85..56aabd3 100644 --- a/environment.sh.example +++ b/environment.sh.example @@ -1,3 +1,4 @@ export SECRET_KEY=<CHANGE_TO_SECRET> export AUTHSCH_KEY=<CHANGE_TO_CLIENT_ID> export AUTHSCH_SECRET=<CHANGE_TO_AUTHSCH_SECRET> +export MEDIA_ROOT=<DIRECTORY_OF_MEDIA> diff --git a/src/homework/migrations/0001_initial.py b/src/homework/migrations/0001_initial.py index c06eb42..b92796b 100644 --- a/src/homework/migrations/0001_initial.py +++ b/src/homework/migrations/0001_initial.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-01-24 12:09 -from __future__ import unicode_literals +# Generated by Django 2.0.1 on 2018-04-05 08:33 -from django.conf import settings +import common.validators import django.core.validators from django.db import migrations, models import django.db.models.deletion -import homework.models class Migration(migrations.Migration): @@ -14,7 +11,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('account', '0017_auto_20180205_2004'), ] operations = [ @@ -22,35 +19,29 @@ class Migration(migrations.Migration): name='Solution', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateTimeField(auto_now_add=True)), - ('ready', models.BooleanField()), - ('files', models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip')])), - ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Student', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('homework', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Solution')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), + ('ready', models.BooleanField(default=False)), + ('accepted', models.BooleanField(default=False)), + ('files', models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['png', 'jpeg', 'jpg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)])), + ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile')), ], ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), ('title', models.CharField(max_length=150)), - ('date', models.DateTimeField(auto_now_add=True)), - ('deadline', models.DateTimeField()), ('text', models.TextField()), - ('files', models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip')])), - ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('deadline', models.DateTimeField()), + ('created_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile')), ], ), migrations.AddField( model_name='solution', name='task', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Task'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_solution', to='homework.Task'), ), ] diff --git a/src/homework/migrations/0002_auto_20180124_1453.py b/src/homework/migrations/0002_auto_20180124_1453.py deleted file mode 100644 index 597c83e..0000000 --- a/src/homework/migrations/0002_auto_20180124_1453.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-01-24 13:53 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='student', - name='homework', - ), - migrations.RemoveField( - model_name='student', - name='user', - ), - migrations.AddField( - model_name='solution', - name='accepted', - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name='solution', - name='created_by', - field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='solution', - name='ready', - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name='solution', - name='task', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_solution', to='homework.Task'), - ), - migrations.AlterField( - model_name='task', - name='created_by', - field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - migrations.DeleteModel( - name='Student', - ), - ] diff --git a/src/homework/migrations/0003_auto_20180124_1818.py b/src/homework/migrations/0003_auto_20180124_1818.py deleted file mode 100644 index 1fcd873..0000000 --- a/src/homework/migrations/0003_auto_20180124_1818.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-01-24 17:18 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0002_auto_20180124_1453'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/src/homework/migrations/0004_auto_20180125_1817.py b/src/homework/migrations/0004_auto_20180125_1817.py deleted file mode 100644 index 9693462..0000000 --- a/src/homework/migrations/0004_auto_20180125_1817.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-01-25 17:17 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0003_auto_20180124_1818'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/src/homework/migrations/0004_auto_20180204_1209.py b/src/homework/migrations/0004_auto_20180204_1209.py deleted file mode 100644 index 4a5edae..0000000 --- a/src/homework/migrations/0004_auto_20180204_1209.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-02-04 11:09 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0003_auto_20180124_1818'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/src/homework/migrations/0005_auto_20180126_0135.py b/src/homework/migrations/0005_auto_20180126_0135.py deleted file mode 100644 index 0155be9..0000000 --- a/src/homework/migrations/0005_auto_20180126_0135.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 2.0.1 on 2018-01-26 00:35 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0004_auto_20180125_1817'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/src/homework/migrations/0005_auto_20180204_1525.py b/src/homework/migrations/0005_auto_20180204_1525.py deleted file mode 100644 index 33d8e8b..0000000 --- a/src/homework/migrations/0005_auto_20180204_1525.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-02-04 14:25 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0004_auto_20180204_1209'), - ] - - operations = [ - migrations.RenameField( - model_name='solution', - old_name='date', - new_name='alma', - ), - ] diff --git a/src/homework/migrations/0006_auto_20180204_1601.py b/src/homework/migrations/0006_auto_20180204_1601.py deleted file mode 100644 index f6bdbc0..0000000 --- a/src/homework/migrations/0006_auto_20180204_1601.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2018-02-04 15:01 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0005_auto_20180204_1525'), - ] - - operations = [ - migrations.RenameField( - model_name='solution', - old_name='alma', - new_name='date', - ), - ] diff --git a/src/homework/migrations/0007_merge_20180205_2021.py b/src/homework/migrations/0007_merge_20180205_2021.py deleted file mode 100644 index f48190e..0000000 --- a/src/homework/migrations/0007_merge_20180205_2021.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 2.0.1 on 2018-02-05 19:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0005_auto_20180126_0135'), - ('homework', '0006_auto_20180204_1601'), - ] - - operations = [ - ] diff --git a/src/homework/migrations/0007_merge_20180209_1734.py b/src/homework/migrations/0007_merge_20180209_1734.py deleted file mode 100644 index c23d34a..0000000 --- a/src/homework/migrations/0007_merge_20180209_1734.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 2.0.1 on 2018-02-09 16:34 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0006_auto_20180204_1601'), - ('homework', '0005_auto_20180126_0135'), - ] - - operations = [ - ] diff --git a/src/homework/migrations/0008_auto_20180221_1135.py b/src/homework/migrations/0008_auto_20180221_1135.py deleted file mode 100644 index a26dfa2..0000000 --- a/src/homework/migrations/0008_auto_20180221_1135.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.0.1 on 2018-02-21 10:35 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0007_merge_20180209_1734'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile'), - ), - migrations.AlterField( - model_name='task', - name='created_by', - field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile'), - ), - ] diff --git a/src/homework/migrations/0009_merge_20180404_0825.py b/src/homework/migrations/0009_merge_20180404_0825.py deleted file mode 100644 index f571560..0000000 --- a/src/homework/migrations/0009_merge_20180404_0825.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 2.0.1 on 2018-04-04 06:25 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0008_auto_20180221_1135'), - ('homework', '0007_merge_20180205_2021'), - ] - - operations = [ - ] diff --git a/src/homework/migrations/0010_auto_20180404_0828.py b/src/homework/migrations/0010_auto_20180404_0828.py deleted file mode 100644 index 5be35ff..0000000 --- a/src/homework/migrations/0010_auto_20180404_0828.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 2.0.1 on 2018-04-04 06:28 - -import common.validators -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0009_merge_20180404_0825'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='files', - field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip'), common.validators.FileSizeValidator(size_limit=52428800)]), - ), - migrations.AlterField( - model_name='task', - name='deadline', - field=models.DateTimeField(), - ), - migrations.AlterField( - model_name='task', - name='files', - field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator('image/png', 'image/jpeg', 'application/zip'), common.validators.FileSizeValidator(size_limit=52428800)]), - ), - ] diff --git a/src/homework/migrations/0011_auto_20180404_0853.py b/src/homework/migrations/0011_auto_20180404_0853.py deleted file mode 100644 index 0524fa0..0000000 --- a/src/homework/migrations/0011_auto_20180404_0853.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 2.0.1 on 2018-04-04 06:53 - -import common.validators -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0010_auto_20180404_0828'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='files', - field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'application/zip']), common.validators.FileSizeValidator(size_limit=52428800)]), - ), - migrations.AlterField( - model_name='task', - name='files', - field=models.FileField(blank=True, upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'application/zip']), common.validators.FileSizeValidator(size_limit=52428800)]), - ), - ] diff --git a/src/homework/migrations/0012_auto_20180404_1253.py b/src/homework/migrations/0012_auto_20180404_1253.py deleted file mode 100644 index 7e02121..0000000 --- a/src/homework/migrations/0012_auto_20180404_1253.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 2.0.1 on 2018-04-04 10:53 - -import common.validators -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('homework', '0011_auto_20180404_0853'), - ] - - operations = [ - migrations.AlterField( - model_name='solution', - name='files', - field=models.FileField(upload_to='', validators=[django.core.validators.FileExtensionValidator(['image/png', 'image/jpeg', 'zip']), common.validators.FileSizeValidator(size_limit=52428800)]), - ), - ] diff --git a/src/homework/models.py b/src/homework/models.py index 5bf8740..973fb45 100644 --- a/src/homework/models.py +++ b/src/homework/models.py @@ -6,22 +6,12 @@ from account.models import Profile class Task(models.Model): + created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING) + created_at = models.DateTimeField(auto_now_add=True, editable=False) + updated_at = models.DateTimeField(auto_now=True, editable=False) title = models.CharField(max_length=150) - date = models.DateTimeField(auto_now_add=True, editable=False) - deadline = models.DateTimeField() text = models.TextField() - created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING) - files = models.FileField( - validators=[ - validators.FileExtensionValidator([ - 'image/png', - 'image/jpeg', - 'application/zip', - ]), - FileSizeValidator(size_limit=52428800), # 52428800 - 50MiB - ], - blank=True, - ) + deadline = models.DateTimeField() def __str__(self): return self.title @@ -30,16 +20,21 @@ class Task(models.Model): class Solution(models.Model): task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE) created_by = models.ForeignKey(Profile, related_name='student_solution', on_delete=models.CASCADE) - date = models.DateTimeField(auto_now_add=True, editable=False) + created_at = models.DateTimeField(auto_now_add=True, editable=False) + updated_at = models.DateTimeField(auto_now=True, editable=False) ready = models.BooleanField(default=False) accepted = models.BooleanField(default=False) files = models.FileField( validators=[ validators.FileExtensionValidator([ - 'image/png', - 'image/jpeg', + 'png', + 'jpeg', + 'jpg', 'zip', ]), FileSizeValidator(size_limit=52428800), # 52428800 - 50MiB ], ) + + def __str__(self): + return "[{}] {}".format(self.created_at, self.created_by.full_name) diff --git a/src/homework/myfields.py b/src/homework/myfields.py deleted file mode 100644 index c343daa..0000000 --- a/src/homework/myfields.py +++ /dev/null @@ -1,41 +0,0 @@ -from django import forms -from django.template.defaultfilters import filesizeformat -from django.utils.translation import ugettext_lazy as _ -from django.core.exceptions import ValidationError - - -class RestrictedFileField(forms.FileField): - """ - Same as FileField, but you can specify: - * content_types - list containing allowed content_types. Example: ['application/pdf', 'image/jpeg'] - * max_upload_size - a number indicating the maximum file size allowed for upload. - 2.5MB - 2621440 - 5MB - 5242880 - 10MB - 10485760 - 20MB - 20971520 - 50MB - 5242880 - 100MB - 104857600 - 250MB - 214958080 - 500MB - 429916160 -""" - - def __init__(self, *args, **kwargs): - self.content_types = kwargs.pop("content_types") - self.max_upload_size = kwargs.pop("max_upload_size") - super().__init__(*args, **kwargs) - - def clean(self, data, initial=None): - file = super().clean(data, initial) - - try: - content_type = file.content_type - if content_type in self.content_types: - if file._size > self.max_upload_size: - raise ValidationError(_('Please keep filesize under %s. Current filesize %s') % ( - filesizeformat(self.max_upload_size), filesizeformat(file._size))) - else: - raise ValidationError(_('Filetype not supported.')) - except AttributeError: - pass - - return data diff --git a/src/homework/serializers.py b/src/homework/serializers.py index a15f593..afc29b4 100644 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -10,18 +10,19 @@ class TaskSerializer(serializers.ModelSerializer): class Meta: model = models.Task - read_only_fields = ('created_by', 'date') + read_only_fields = ('created_by', 'created_at', 'updated_at') fields = '__all__' class SolutionSerializer(serializers.ModelSerializer): - date = serializers.DateTimeField(read_only=True) + created_at = serializers.DateTimeField(read_only=True) + updated_at = serializers.DateTimeField(read_only=True) created_by = serializers.HiddenField(default=CurrentUserProfileDefault()) class Meta: model = models.Solution - read_only_fields = ('created_by', 'date' 'ready') - fields = ('task', 'date', 'accepted', 'files', 'created_by') + read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready') + fields = ('task', 'created_at', 'updated_at', 'accepted', 'files', 'created_by') def validate(self, data): if timezone.now() > data['task'].deadline: diff --git a/src/kszkepzes/settings/base.py b/src/kszkepzes/settings/base.py index e19f0ee..277106b 100644 --- a/src/kszkepzes/settings/base.py +++ b/src/kszkepzes/settings/base.py @@ -153,3 +153,6 @@ USE_TZ = True # https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL = '/django-static/' + +MEDIA_ROOT = os.getenv('MEDIA_ROOT', '/tmp') +MEDIA_URL = '/media/' diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py index b696e39..3b249d5 100644 --- a/src/kszkepzes/urls.py +++ b/src/kszkepzes/urls.py @@ -1,4 +1,6 @@ from django.conf.urls import url, include +from django.conf.urls.static import static +from django.conf import settings from django.contrib import admin from django.contrib.auth import views as auth_views @@ -9,6 +11,8 @@ urlpatterns = [ url(r'^api/v1/', include('stats.urls')), url(r'^api/v1/', include('account.urls')), url(r'^api/v1/', include('news.urls')), - url(r'^api/v1/logout/$', auth_views.LogoutView.as_view(), name='logout'), ] + +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -- GitLab