| """ |
| Django settings for ramex project. |
| |
| Generated by 'django-admin startproject' using Django 4.2. |
| |
| For more information on this file, see |
| https://docs.djangoproject.com/en/4.2/topics/settings/ |
| |
| For the full list of settings and their values, see |
| https://docs.djangoproject.com/en/4.2/ref/settings/ |
| """ |
| import os |
| from pathlib import Path |
| from datetime import timedelta |
| |
| BASE_DIR = Path(__file__).resolve().parent.parent |
|
|
|
|
| |
| |
|
|
| |
| SECRET_KEY = 'django-insecure-44b#vhj)s&=^(@#%#_-p+vn4s(8!uo-j510gl*fa30$mj67x!c' |
|
|
| |
| DEBUG = True |
|
|
| ALLOWED_HOSTS = ['*'] |
|
|
| |
| CORS_ALLOW_ALL_ORIGINS = True |
| CORS_ALLOW_CREDENTIALS = True |
| CORS_ALLOW_HEADERS = [ |
| 'accept', |
| 'accept-encoding', |
| 'authorization', |
| 'content-type', |
| 'dnt', |
| 'origin', |
| 'user-agent', |
| 'x-csrftoken', |
| 'x-requested-with', |
| ] |
|
|
| |
| SECURE_CROSS_ORIGIN_OPENER_POLICY = None |
| SECURE_REFERRER_POLICY = None |
|
|
| |
|
|
| INSTALLED_APPS = [ |
| 'django.contrib.admin', |
| 'django.contrib.auth', |
| 'django.contrib.contenttypes', |
| 'django.contrib.sessions', |
| 'django.contrib.messages', |
| 'django.contrib.staticfiles', |
| |
| |
| 'rest_framework', |
| |
| 'rest_framework_simplejwt', |
| 'corsheaders', |
| 'django_bootstrap5', |
| 'drf_yasg', |
| |
| |
| 'api', |
| 'frontend', |
| ] |
|
|
| MIDDLEWARE = [ |
| 'corsheaders.middleware.CorsMiddleware', |
| 'django.middleware.security.SecurityMiddleware', |
| 'django.contrib.sessions.middleware.SessionMiddleware', |
| 'django.middleware.common.CommonMiddleware', |
| |
| 'django.contrib.auth.middleware.AuthenticationMiddleware', |
| 'django.contrib.messages.middleware.MessageMiddleware', |
| 'django.middleware.clickjacking.XFrameOptionsMiddleware', |
| ] |
|
|
| ROOT_URLCONF = 'ramex.urls' |
|
|
| TEMPLATES = [ |
| { |
| 'BACKEND': 'django.template.backends.django.DjangoTemplates', |
| '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 = 'ramex.wsgi.application' |
|
|
|
|
| |
| |
|
|
| 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 = 'zh-hans' |
|
|
| TIME_ZONE = 'Asia/Shanghai' |
|
|
| USE_I18N = 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' |
|
|
| |
| REST_FRAMEWORK = { |
| 'DEFAULT_AUTHENTICATION_CLASSES': [ |
| |
| 'rest_framework_simplejwt.authentication.JWTAuthentication', |
| ], |
| 'DEFAULT_PERMISSION_CLASSES': [ |
| 'rest_framework.permissions.IsAuthenticated', |
| ], |
| 'DEFAULT_RENDERER_CLASSES': [ |
| 'rest_framework.renderers.JSONRenderer', |
| 'rest_framework.renderers.BrowsableAPIRenderer', |
| ], |
| 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema', |
| } |
|
|
| SIMPLE_JWT = { |
| 'ACCESS_TOKEN_LIFETIME': timedelta(days=30), |
| 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), |
| 'ROTATE_REFRESH_TOKENS': False, |
| 'BLACKLIST_AFTER_ROTATION': True, |
| } |
|
|
| SWAGGER_SETTINGS = { |
| 'USE_SESSION_AUTH': False, |
| 'PERSIST_AUTH': True, |
| 'SECURITY_DEFINITIONS': { |
| 'Bearer': { |
| 'type': 'apiKey', |
| 'name': 'Authorization', |
| 'in': 'header', |
| } |
| }, |
| } |
|
|
| |
| FILE_UPLOAD_MAX_MEMORY_SIZE = 20 * 1024 * 1024 |
| DATA_UPLOAD_MAX_MEMORY_SIZE = 20 * 1024 * 1024 |
|
|
| |
| |
|
|
| DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' |
|
|
| |
| |
| |
| |
| |
| |
|
|