Merge remote-tracking branch 'origin/master'

This commit is contained in:
Sergei Erjemin 2024-01-05 22:43:50 +03:00
commit 95775943bb
4 changed files with 90 additions and 66 deletions

1
.gitignore vendored
View File

@ -153,6 +153,7 @@ cover/
*.log *.log
local_settings.py local_settings.py
my_secret.py my_secret.py
my_secret*.py
db.sqlite3 db.sqlite3
db.sqlite3-journal db.sqlite3-journal

View File

@ -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/'

View File

@ -11,15 +11,20 @@ For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.1/ref/settings/ 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 import socket
from dicquo.my_secret import *
from pathlib import Path 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'. # Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent 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! # SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = MY_SECRET_KEY SECRET_KEY = MY_SECRET_KEY
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = MY_DEBUG
if socket.gethostname() in [MY_HOST_HOME, MY_HOST_WORK]:
DEBUG = True
else:
# Все остальные хосты (подразумевается продакшн)
DEBUG = False
ALLOWED_HOSTS = [ ALLOWED_HOSTS = MY_ALLOWED_HOSTS
'127.0.0.1',
'localhost',
'dq.cube2.ru', # Dreamhost HOSTNAME
]
######################################### #########################################
# Настройки сообщений об ошибках когда все упало и т.п. # Настройки сообщений об ошибках когда все упало и т.п.
ADMINS = ( ADMINS = MY_ADMINS
('Sergey Erjemin', MY_EMAIL),
)
######################################### #########################################
# настройки для почтового сервера # настройки для почтового сервера
EMAIL_HOST = 'smtp.mail.ru' # SMTP server EMAIL_HOST = MY_EMAIL_HOST # SMTP server
EMAIL_PORT = 2525 # для SSL/https EMAIL_PORT = MY_EMAIL_PORT # для SSL/https
EMAIL_HOST_USER = MY_EMAIL_HOST_USER # login or '' EMAIL_HOST_USER = MY_EMAIL_HOST_USER # login or ''
EMAIL_HOST_PASSWORD = MY_EMAIL_HOST_PASSWORD # password EMAIL_HOST_PASSWORD = MY_EMAIL_HOST_PASSWORD # password
SERVER_EMAIL = DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 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]: ' # префикс для оповещений об ошибках и необработанных исключениях EMAIL_SUBJECT_PREFIX = '[DIC-QUO ERR]: ' # префикс для оповещений об ошибках и необработанных исключениях
# Application definition # Application definition
INSTALLED_APPS: list[str] = [
INSTALLED_APPS = [
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.auth', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.contenttypes',
@ -72,11 +65,9 @@ INSTALLED_APPS = [
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'taggit.apps.TaggitAppConfig', 'taggit.apps.TaggitAppConfig',
'web.apps.WebConfig', 'web.apps.WebConfig',
] ]
MIDDLEWARE = [ MIDDLEWARE: list[str] = [
'django.middleware.security.SecurityMiddleware', 'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
@ -86,7 +77,7 @@ MIDDLEWARE = [
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
] ]
ROOT_URLCONF = 'dicquo.urls' ROOT_URLCONF: str = 'dicquo.urls'
TEMPLATES = [ TEMPLATES = [
{ {
@ -121,8 +112,8 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/ # https://docs.djangoproject.com/en/3.1/topics/i18n/
LANGUAGE_CODE = 'ru-RU' # <--------- RUSSIAN LANGUAGE_CODE = 'ru-RU' # <--------- RUSSIAN
# TIME_ZONE = 'Europe/Moscow' # TIME_ZONE = 'Europe/Moscow' #
TIME_ZONE = 'America/Los_Angeles' # # TIME_ZONE = 'America/Los_Angeles' #
USE_I18N = True USE_I18N = True
USE_L10N = True USE_L10N = True
USE_TZ = True # учитывать часовой пояс USE_TZ = True # учитывать часовой пояс
@ -137,42 +128,26 @@ STATIC_URL = '/static/'
MEDIA_URL = '/media/' MEDIA_URL = '/media/'
# Настройки для прода.... # Настройки для прода....
TOUCH_RELOAD = MY_TOUCH_RELOAD_PROD # дёргаем этот файл, чтобы перегрузить uWSGI TOUCH_RELOAD = MY_TOUCH_RELOAD # дёргаем этот файл, чтобы перегрузить uWSGI
MEDIA_ROOT = MY_MEDIA_ROOT_PROD
STATIC_ROOT = MY_STATIC_ROOT_PROD
STATIC_BASE_PATH = STATIC_ROOT
# DB_HOST = 'localhost'
if DEBUG: # DEBUG: заменяем настройки прода, на настройки девопа MEDIA_ROOT = MY_MEDIA_ROOT
if socket.gethostname() == 'fatal1ty': # домашний комп STATICFILES_DIRS = [
# TOUCH_RELOAD = MY_TOUCH_RELOAD_DEV MY_STATIC_ROOT,
MEDIA_ROOT = MY_MEDIA_ROOT_DEV ]
STATIC_BASE_PATH = MY_STATIC_ROOT_DEV # STATIC_ROOT = MY_STATIC_ROOT
# DB_HOST = 'localhost' # STATIC_BASE_PATH = MY_STATIC_ROOT
# 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',
)
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': "django.db.backends.mysql",
'NAME': BASE_DIR / 'db.sqlite3', 'HOST': MY_DATABASE_HOST, # Set to "" for localhost. Not used with sqlite3.
# 'NAME': 'db.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, }
} }
} }
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'

Binary file not shown.