diff --git a/core/config/jwt.py b/core/config/jwt.py index 0bbc3c1..719a020 100644 --- a/core/config/jwt.py +++ b/core/config/jwt.py @@ -16,8 +16,8 @@ SIMPLE_JWT = { - "ACCESS_TOKEN_LIFETIME": timedelta(minutes=5), - "REFRESH_TOKEN_LIFETIME": timedelta(days=7), + "ACCESS_TOKEN_LIFETIME": timedelta(days=7), + "REFRESH_TOKEN_LIFETIME": timedelta(days=31), "ROTATE_REFRESH_TOKENS": True, "BLACKLIST_AFTER_ROTATION": True, "UPDATE_LAST_LOGIN": False, diff --git a/core/settings/development.py b/core/settings/development.py index b3e5109..4601161 100644 --- a/core/settings/development.py +++ b/core/settings/development.py @@ -1,12 +1,10 @@ -import os - from .base import * # noqa EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" DATABASES = { "default": { - "ENGINE": f"django.db.backends.{str(os.getenv('DATABASE_ENVIRON'))}", + "ENGINE": f"django.db.backends.sqlite3", "NAME": BASE_DIR / "db.sqlite3", } } \ No newline at end of file diff --git a/core/settings/production.py b/core/settings/production.py index b3eb0c8..2b43434 100644 --- a/core/settings/production.py +++ b/core/settings/production.py @@ -9,20 +9,30 @@ EMAIL_HOST_PASSWORD = os.getenv("EMAIL_HOST_PASSWORD") EMAIL_USE_TLS = True -DATABASES = { - "default": { - "ENGINE": f"django.db.backends.{str(os.getenv('DATABASE_ENVIRON'))}", - "NAME": str(os.getenv("DATABASE_NAME")), - "USER": str(os.getenv("DATABASE_USER")), - "PASSWORD": str(os.getenv("DATABASE_PASSWORD")), - "HOST": str(os.getenv("DATABASE_HOST")), - "PORT": int(os.getenv("DATABASE_PORT")) - } -} +DATABASES_ENVIRON = os.getenv("DATABASE_ENVIRON") -# CACHES = { -# "default": { -# "BACKEND": "django.core.cache.backends.redis.RedisCache", -# "LOCATION": os.getenv("REDIS_CACHE_URL"), -# }, -# } +if DATABASES_ENVIRON == "postgresql": + DATABASES = { + "default": { + "ENGINE": f"django.db.backends.postgresql", + "NAME": str(os.getenv("DATABASE_NAME")), + "USER": str(os.getenv("DATABASE_USER")), + "PASSWORD": str(os.getenv("DATABASE_PASSWORD")), + "HOST": str(os.getenv("DATABASE_HOST")), + "PORT": int(os.getenv("DATABASE_PORT")) + } + } +elif DATABASES_ENVIRON == 'mysql': + DATABASES = { + "default": { + "ENGINE": f"django.db.backends.mysql", + "NAME": str(os.getenv("DATABASE_NAME")), + "USER": str(os.getenv("DATABASE_USER")), + "PASSWORD": str(os.getenv("DATABASE_PASSWORD")), + "HOST": str(os.getenv("DATABASE_HOST")), + "PORT": int(os.getenv("DATABASE_PORT")), + "OPTIONS": { + "sql_mode": "STRICT_TRANS_TABLES", + } + } + } diff --git a/core/settings_example.py b/core/settings_example.py deleted file mode 100644 index 6263a85..0000000 --- a/core/settings_example.py +++ /dev/null @@ -1,112 +0,0 @@ -import os - -from pathlib import Path - -from core.config import * # noqa - -from dotenv import load_dotenv -load_dotenv() - -BASE_DIR = Path(__file__).resolve().parent.parent - -SECRET_KEY = str(os.getenv("SECRET_KEY")) - -DEBUG = bool(os.getenv("DEBUG", True)) - -ALLOWED_HOSTS = str(os.getenv("ALLOWED_HOSTS")).split(",") - - -INSTALLED_APPS = DEFAULT_APPS + PROJECT_APPS + THIRD_PARTY_APPS - - -MIDDLEWARE = [ - "django.middleware.security.SecurityMiddleware", - "django.contrib.sessions.middleware.SessionMiddleware", - "django.middleware.common.CommonMiddleware", - "django.middleware.csrf.CsrfViewMiddleware", - "django.contrib.auth.middleware.AuthenticationMiddleware", - "django.contrib.messages.middleware.MessageMiddleware", - "django.middleware.clickjacking.XFrameOptionsMiddleware", - "apps.users.middleware.JWTAuthMiddleware", -] - -ROOT_URLCONF = "core.urls" - - -TEMPLATES_DIRS = ["templates"] - -TEMPLATES = [ - { - "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": TEMPLATES_DIRS, - "APP_DIRS": True, - "OPTIONS": { - "context_processors": [ - "django.template.context_processors.debug", - "django.template.context_processors.request", - "django.contrib.auth.context_processors.auth", - "django.contrib.messages.context_processors.messages", - ], - }, - }, -] - - -WSGI_APPLICATION = "core.wsgi.application" - -if os.getenv("DATABASE_ENVIRON") == "postgres": - DATABASES = { - "default": { - "ENGINE": "django.db.backends.postgresql", - "NAME": str(os.getenv("POSTGRES_NAME")), - "USER": str(os.getenv("POSTGRES_USER")), - "PASSWORD": str(os.getenv("POSTGRES_PASSWORD")), - "HOST": str(os.getenv("POSTGRES_HOST")), - "PORT": int(os.getenv("POSTGRES_PORT")) - } - } -else: - DATABASES = { - "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": BASE_DIR / "db.sqlite3", - } - } - - -AUTH_PASSWORD_VALIDATORS = [ - { - "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", - }, -] - -LANGUAGE_CODE = "en" - -TIME_ZONE = "Asia/Tashkent" - -USE_I18N = True -# USE_L10N = True - -USE_TZ = True - -STATIC_URL = "static/" -STATIC_ROOT = BASE_DIR / "staticfiles" -STATICFILES_DIRS = [BASE_DIR / "static"] - -MEDIA_URL = "media/" -MEDIA_ROOT = BASE_DIR / "media/" - -DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" - -AUTH_USER_MODEL = "users.User" - -SITE_ID = 1 diff --git a/requirements.txt b/requirements.txt index 73ed40d..cfa8f24 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,4 +8,5 @@ gunicorn==23.0.0 markdown2==2.5.1 pillow==10.4.0 psycopg2-binary==2.9.10 +mysqlclient python-dotenv==1.0.1