From 4fc6401135f46be44ed65a3a5eb207c5711f1696 Mon Sep 17 00:00:00 2001 From: avpech <116076155+avpech@users.noreply.github.com> Date: Sun, 26 Nov 2023 16:37:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=B0=D1=80=D1=82=D0=B8=D0=BD=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=20=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B8=20(#119)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add question image * fix media_value adress in docker-compose.test.yml * add DOMAIN to .env.example * add DOMAIN to .env.example v2 --- .env.example | 3 +++ infra/docker-compose.test.yml | 2 +- infra/docker-compose.yml | 2 +- src/backend/api/serializers.py | 20 ++++++++++++-------- src/backend/backend/settings.py | 3 ++- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.env.example b/.env.example index 27d6a2b..76fc83a 100644 --- a/.env.example +++ b/.env.example @@ -12,6 +12,9 @@ DEBUG=True SECRET_KEY=django-secret-key ALLOWED_HOSTS=127.0.0.1 +# Доменное имя +DOMAIN=127.0.0.1 + # Если используется другая СУБД, то строку ниже следует закомментировать NEED_SQLITE=True diff --git a/infra/docker-compose.test.yml b/infra/docker-compose.test.yml index 222cf9b..51a4903 100644 --- a/infra/docker-compose.test.yml +++ b/infra/docker-compose.test.yml @@ -23,7 +23,7 @@ services: restart: always volumes: - static_value:/app/backend/static/ - - media_value:/app/media/ + - media_value:/app/backend/media/ - ../.data/logs/:/app/.data/logs/ env_file: - ../.env diff --git a/infra/docker-compose.yml b/infra/docker-compose.yml index bb45cd7..8d76c6c 100644 --- a/infra/docker-compose.yml +++ b/infra/docker-compose.yml @@ -25,7 +25,7 @@ services: restart: always volumes: - static_value:/app/backend/static/ - - media_value:/app/media/ + - media_value:/app/backend/media/ - ../.data/logs/:/app/.data/logs/ env_file: - ../.env diff --git a/src/backend/api/serializers.py b/src/backend/api/serializers.py index 0b15ec5..46e7209 100644 --- a/src/backend/api/serializers.py +++ b/src/backend/api/serializers.py @@ -1,3 +1,6 @@ +from urllib.parse import urljoin + +from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.template.loader import render_to_string @@ -34,15 +37,16 @@ def _get_result(self, obj: list[Question]): task_number = self.context["task_number"] template_name = self._get_template_name_by_task_number(task_number) for question in obj: - result.append( - { - "content": render_to_string( - template_name, - {"question": question}, - self.context["request"], - ) - } + content = render_to_string( + template_name, + {"question": question}, + self.context["request"], ) + photo = question.photo + if photo and photo.image: + photo_url = urljoin(f"http://{settings.DOMAIN}", photo.image.url) + content = f"" + content + result.append({"content": content}) return result @staticmethod diff --git a/src/backend/backend/settings.py b/src/backend/backend/settings.py index e2282d3..15662de 100644 --- a/src/backend/backend/settings.py +++ b/src/backend/backend/settings.py @@ -10,7 +10,8 @@ DEBUG = os.getenv("DEBUG", default=False) ALLOWED_HOSTS = [os.getenv("ALLOWED_HOSTS", default="*")] -CSRF_TRUSTED_ORIGINS = (f"http://{os.getenv('HOST', default='127.0.0.1')}",) +DOMAIN = os.getenv("DOMAIN", default="127.0.0.1") +CSRF_TRUSTED_ORIGINS = (f"http://{DOMAIN}", f"https://{DOMAIN}") INSTALLED_APPS = [ "django.contrib.admin",