From d84be38b7a4650ba9430db1a1d9be25235c4b5fc Mon Sep 17 00:00:00 2001 From: erjemin Date: Thu, 28 Dec 2023 16:52:31 +0300 Subject: [PATCH 1/4] gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 11e32f1..beee253 100644 --- a/.gitignore +++ b/.gitignore @@ -153,6 +153,7 @@ cover/ *.log local_settings.py my_secret.py +my_secret*.py db.sqlite3 db.sqlite3-journal From 4748e8edc0409b0c85622dfa2f29519068ac93b7 Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 29 Dec 2023 15:56:09 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D1=8B=20?= =?UTF-8?q?=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20(?= =?UTF-8?q?=D0=BE=D1=84=D0=B8=D1=81,=20windows)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dicquo/requarement_dev_work2023.txt | Bin 0 -> 408 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dicquo/requarement_dev_work2023.txt diff --git a/dicquo/requarement_dev_work2023.txt b/dicquo/requarement_dev_work2023.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a00cd92cd74e082364d9460131bb8419fc85079 GIT binary patch literal 408 zcmZWlOAdlS6zkf=qd*Y+#DzN#;0+7`Bp48cN&FmM?d$jQKO@-r?QYDB0Cq%!Qn=}lKY;DD<=g{181%N zmT3Al;Zq&%$m!__V`I)^SaPCN^UX({11U>2b-LkS5MuV#ckJPqSu;5xQoiTc*S!6U y{=GBy%&Bd(hn}Y%OQp=zc$~6RLQT!(t*~u)ojDsCHt~DQ*rw7peCt>(K7KEq@;lW4 literal 0 HcmV?d00001 From c42357dae005f66f1472fe6cd3a5abeabffd4b8b Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 29 Dec 2023 15:58:37 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20?= =?UTF-8?q?=D1=81=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=D0=B8=20(=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=20settings.py)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dicquo/dicquo/_my_secret_sample.py | 48 ++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 dicquo/dicquo/_my_secret_sample.py diff --git a/dicquo/dicquo/_my_secret_sample.py b/dicquo/dicquo/_my_secret_sample.py new file mode 100644 index 0000000..2cfba1b --- /dev/null +++ b/dicquo/dicquo/_my_secret_sample.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# ВСЕ СЕКРЕТНЫЕ НАСТРОЙКИ ПРОЕКТА ДЛЯ РАЗРАБОТКИ В ОФИСЕ (под Windows) +""" +В этот файл вынесены все секретные настройки, чтобы не светить их в settings.py +Например, при размещении в публичный репозиториях. +""" + +MY_DEBUG = True + +# Хосты на которых может работать приложение +MY_ALLOWED_HOSTS = [ + '127.0.0.1', + 'localhost', + '10.3.1.***', # разработка офис +] + + +# Ключ Django +MY_SECRET_KEY = '**********************************************' + +# Настройки для сообщений об ошибках когда все упало и т.п. +MY_ADMINS = ( + ('S.Erjemin', '*******@gmail.com'), +) + +######################################### +# настройки для почтового сервера +MY_EMAIL = 'info@***.ru' +MY_EMAIL_FROM = 'info@***.ru' +MY_EMAIL_HOST = 'smtp.mail.ru' # host разработка домашний +MY_EMAIL_HOST_USER = 'info@***.ru' # login разработка домашний +MY_EMAIL_HOST_PASSWORD = '****' # password разработка домашний +MY_EMAIL_PORT = 2525 # port разработка домашний +MY_EMAIL_USE_TLS = True + +# Настройки подключения к БД MySQL +MY_DATABASE_HOST = '10.3.1.198' # db-host разработка домашний +MY_DATABASE_NAME = 'django_dq' # db-name разработка домашний +MY_DATABASE_PORT = '3307' +MY_DATABASE_USER = '***' +MY_DATABASE_PASSWORD = '***' + +# дёргаем этот файл, чтобы перегрузить uWSGI +MY_TOUCH_RELOAD = 'M:/PRJ/2023-dq/logs/reload_dq' + +# пути к медиа-файлам и статике +MY_MEDIA_ROOT = 'M:/PRJ/2023-dq/public/media' +MY_STATIC_ROOT = 'M:/PRJ/2023-dq/public/static/' From 04dcc4099aab34bfa69949b6220ffbd8003428f3 Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 29 Dec 2023 16:00:24 +0300 Subject: [PATCH 4/4] =?UTF-8?q?c=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B0=D0=B5=D0=BC=D1=8B=D0=BC=D0=B8=20=D0=BD=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dicquo/dicquo/settings.py | 107 +++++++++++++++----------------------- 1 file changed, 41 insertions(+), 66 deletions(-) diff --git a/dicquo/dicquo/settings.py b/dicquo/dicquo/settings.py index ddef88d..8d18e5a 100644 --- a/dicquo/dicquo/settings.py +++ b/dicquo/dicquo/settings.py @@ -11,15 +11,20 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.1/ref/settings/ """ -# Copyright (c) 2020. Lorem ipsum dolor sit amet, consectetur adipiscing elit. -# Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. -# Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. -# Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. -# Vestibulum commodo. Ut rhoncus gravida arcu. - import socket -from dicquo.my_secret import * from pathlib import Path +if socket.gethostname() == 'seremin': + # офисный комп (Windows) + from dicquo.my_secret_dev_office_win import * +elif socket.gethostname() == 'erjemin-home': + # домашний комп (Windows) + from dicquo.my_secret_dev_home_win import * +elif socket.gethostname() in ['m1.N1', 'm1.local', ]: + # домашний комп (MacOS) + from dicquo.my_secret_dev_home_mac import * +elif socket.gethostname() in ['orangepi5', 'vm678195', ]: + # продакшн (боевой) сервер + from dicquo.my_secret_prod import * # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -31,39 +36,27 @@ BASE_DIR = Path(__file__).resolve().parent.parent # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = MY_SECRET_KEY -# SECURITY WARNING: don't run with debug turned on in production! -if socket.gethostname() in [MY_HOST_HOME, MY_HOST_WORK]: - DEBUG = True -else: - # Все остальные хосты (подразумевается продакшн) - DEBUG = False +DEBUG = MY_DEBUG -ALLOWED_HOSTS = [ - '127.0.0.1', - 'localhost', - 'dq.cube2.ru', # Dreamhost HOSTNAME -] +ALLOWED_HOSTS = MY_ALLOWED_HOSTS ######################################### # Настройки сообщений об ошибках когда все упало и т.п. -ADMINS = ( - ('Sergey Erjemin', MY_EMAIL), -) +ADMINS = MY_ADMINS ######################################### # настройки для почтового сервера -EMAIL_HOST = 'smtp.mail.ru' # SMTP server -EMAIL_PORT = 2525 # для SSL/https +EMAIL_HOST = MY_EMAIL_HOST # SMTP server +EMAIL_PORT = MY_EMAIL_PORT # для SSL/https EMAIL_HOST_USER = MY_EMAIL_HOST_USER # login or '' EMAIL_HOST_PASSWORD = MY_EMAIL_HOST_PASSWORD # password SERVER_EMAIL = DEFAULT_FROM_EMAIL = EMAIL_HOST_USER -EMAIL_USE_TLS = True +EMAIL_USE_TLS = MY_EMAIL_USE_TLS +EMAIL_FROM = MY_EMAIL_FROM # мейл, от имени которого отправляются письма EMAIL_SUBJECT_PREFIX = '[DIC-QUO ERR]: ' # префикс для оповещений об ошибках и необработанных исключениях - # Application definition - -INSTALLED_APPS = [ +INSTALLED_APPS: list[str] = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', @@ -72,11 +65,9 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'taggit.apps.TaggitAppConfig', 'web.apps.WebConfig', - - ] -MIDDLEWARE = [ +MIDDLEWARE: list[str] = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', @@ -86,7 +77,7 @@ MIDDLEWARE = [ 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] -ROOT_URLCONF = 'dicquo.urls' +ROOT_URLCONF: str = 'dicquo.urls' TEMPLATES = [ { @@ -121,8 +112,8 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/3.1/topics/i18n/ LANGUAGE_CODE = 'ru-RU' # <--------- RUSSIAN -# TIME_ZONE = 'Europe/Moscow' # -TIME_ZONE = 'America/Los_Angeles' # +TIME_ZONE = 'Europe/Moscow' # +# TIME_ZONE = 'America/Los_Angeles' # USE_I18N = True USE_L10N = True USE_TZ = True # учитывать часовой пояс @@ -137,42 +128,26 @@ STATIC_URL = '/static/' MEDIA_URL = '/media/' # Настройки для прода.... -TOUCH_RELOAD = MY_TOUCH_RELOAD_PROD # дёргаем этот файл, чтобы перегрузить uWSGI -MEDIA_ROOT = MY_MEDIA_ROOT_PROD -STATIC_ROOT = MY_STATIC_ROOT_PROD -STATIC_BASE_PATH = STATIC_ROOT -# DB_HOST = 'localhost' +TOUCH_RELOAD = MY_TOUCH_RELOAD # дёргаем этот файл, чтобы перегрузить uWSGI -if DEBUG: # DEBUG: заменяем настройки прода, на настройки девопа - if socket.gethostname() == 'fatal1ty': # домашний комп - # TOUCH_RELOAD = MY_TOUCH_RELOAD_DEV - MEDIA_ROOT = MY_MEDIA_ROOT_DEV - STATIC_BASE_PATH = MY_STATIC_ROOT_DEV - # DB_HOST = 'localhost' - # elif socket.gethostname() == 'SEremin2': # офисный комп - # TOUCH_RELOAD = 'W:/!mail.ru_cloud/PRJ/PRJ Favicons/logs/favicon_prj_reload.log' - # MEDIA_ROOT = 'W:/!mail.ru_cloud/PRJ/PRJ Favicons/public/media' - # STATIC_BASE_PATH = 'W:/!mail.ru_cloud/PRJ/PRJ Favicons/public/static' - # DB_HOST = '10.10.5.6' - STATICFILES_DIRS = ( - STATIC_BASE_PATH, - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. - STATIC_BASE_PATH + '/js', - STATIC_BASE_PATH + '/img', - STATIC_BASE_PATH + '/fonts', - STATIC_BASE_PATH + '/css', - STATIC_BASE_PATH + '/svgs', - ) +MEDIA_ROOT = MY_MEDIA_ROOT +STATICFILES_DIRS = [ + MY_STATIC_ROOT, +] +# STATIC_ROOT = MY_STATIC_ROOT +# STATIC_BASE_PATH = MY_STATIC_ROOT -# Database -# https://docs.djangoproject.com/en/3.1/ref/settings/#databases DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - # 'NAME': 'db.sqlite3', + 'ENGINE': "django.db.backends.mysql", + 'HOST': MY_DATABASE_HOST, # Set to "" for localhost. Not used with sqlite3. + 'PORT': MY_DATABASE_PORT, # Set to "" for default. Not used with sqlite3. + 'NAME': MY_DATABASE_NAME, # Not used with sqlite3. + 'USER': MY_DATABASE_USER, # Not used with sqlite3. + 'PASSWORD': MY_DATABASE_PASSWORD, # Not used with sqlite3. + # 'OPTIONS': { 'autocommit': True, } } -} \ No newline at end of file +} + +DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' \ No newline at end of file