From 1f2c74e20c1c9104d678fe3d43bd0225bdf58f05 Mon Sep 17 00:00:00 2001 From: NikDizell Date: Tue, 24 Feb 2026 00:12:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B8=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B0=D0=B4?= =?UTF-8?q?=D0=BC=D0=B8=D0=BD=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneCprogsite/settings.py | 39 ++++++++++++++++++--------------------- programmer/admin.py | 2 +- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/OneCprogsite/settings.py b/OneCprogsite/settings.py index 5b47505..b1819ce 100644 --- a/OneCprogsite/settings.py +++ b/OneCprogsite/settings.py @@ -12,8 +12,11 @@ https://docs.djangoproject.com/en/4.2/ref/settings/ import os.path import sys from pathlib import Path +from dotenv import load_dotenv +load_dotenv() + SITE_ID = 1 # Build paths inside the project like this: BASE_DIR / 'subdir'. @@ -26,7 +29,7 @@ sys.path.insert(0, str(BASE_DIR / "OneCprogsite")) # Добавляем пап # See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-5rs2a1*8cxjkv*%6k1-88biv&1#nep%@i+%1^dk=5j$s&e&hwm' +SECRET_KEY = os.getenv('DJANGO_SECRET_KEY') # Безопасность cookies для HTTPS # SESSION_COOKIE_SECURE = True @@ -47,20 +50,13 @@ CSRF_COOKIE_SECURE = False SECURE_SSL_REDIRECT = False # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = os.getenv('DJANGO_DEBUG', 'True').lower() == 'true' # Или разрешить конкретные домены (Django 4.0+) X_FRAME_OPTIONS = 'ALLOW-FROM https://metrika.yandex.ru' # ОБЯЗАТЕЛЬНО укажите ваши домены -ALLOWED_HOSTS = [ - 'nikdizell.ru', - 'www.nikdizell.ru', - 'localhost', - '127.0.0.1', - '192.168.31.88', # Добавьте IP сервера - '192.168.31.221', -] +ALLOWED_HOSTS = os.getenv('DJANGO_ALLOWED_HOSTS', 'localhost,127.0.0.1').split(',') # Важно для работы за прокси # SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') @@ -145,11 +141,11 @@ WSGI_APPLICATION = 'OneCprogsite.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', - 'NAME': 'App', - 'USER': 'postgres', - 'PASSWORD': 'NikDi94Zell', - 'HOST': 'localhost', - 'PORT': 5432, + 'NAME': os.getenv('DB_NAME'), + 'USER': os.getenv('DB_USER'), + 'PASSWORD': os.getenv('DB_PASSWORD'), + 'HOST': os.getenv('DB_HOST'), + 'PORT': os.getenv('DB_PORT'), } } @@ -211,16 +207,17 @@ EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # DEFAULT_FROM_EMAIL = EMAIL_HOST_USER # SERVER_EMAIL = EMAIL_HOST_USER -EMAIL_HOST = 'smtp.gmail.com' # или smtp.gmail.com, smtp.mail.ru -EMAIL_PORT = 587 -EMAIL_USE_TLS = True -EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER', 'nikdizell@gmail.com') -EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD', 'qvmw yccb msqv mmpj') +EMAIL_HOST = os.getenv('EMAIL_HOST') # или smtp.gmail.com, smtp.mail.ru +EMAIL_PORT = int(os.getenv('EMAIL_PORT', 465)) +EMAIL_USE_SSL = os.getenv('EMAIL_USE_SSL', 'False').lower() == 'False' +EMAIL_USE_TLS = os.getenv('EMAIL_USE_TLS', 'False').lower() == 'False' +EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER') +EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD') DEFAULT_FROM_EMAIL = EMAIL_HOST_USER SERVER_EMAIL = EMAIL_HOST_USER # Email для уведомлений (можно указать несколько через запятую) # ADMIN_EMAILS = os.getenv('ADMIN_EMAILS', 'nikdizell@gmail.com').split(',') -ADMIN_EMAILS = os.getenv('ADMIN_EMAILS', 'it@nserdyuk.ru').split(',') +ADMIN_EMAILS = os.getenv('ADMIN_EMAILS').split(',') diff --git a/programmer/admin.py b/programmer/admin.py index 5962719..d13eefd 100644 --- a/programmer/admin.py +++ b/programmer/admin.py @@ -48,7 +48,7 @@ class CallbackAdmin(admin.ModelAdmin): list_filter = ('time_create', 'is_processed', 'is_read') search_fields = ('name', 'phone', 'email') readonly_fields = ('time_create',) - actions = ['mark_as_read', 'mark_as_unread', 'mark_as_processed'] + # actions = ['mark_as_read', 'mark_as_unread', 'mark_as_processed'] actions = ['mark_as_read', 'mark_as_unread', 'mark_as_processed', 'resend_notification'] def resend_notification(self, request, queryset):