From b19c29e24f5b91dcc1ea7eef0b179e07cb7d656e Mon Sep 17 00:00:00 2001 From: TianyangZhang Date: Tue, 24 Mar 2026 17:05:36 +0800 Subject: [PATCH] fix: correct settings module references and code quality issues - Fix asgi.py and wsgi.py to point to config.settings.development - Move timedelta import to top of base.py (PEP 8) - Add STATIC_ROOT to base.py - Add Redis OPTIONS with timeout config - Add dev-only comments for ALLOWED_HOSTS and CORS_ALLOW_ALL_ORIGINS --- offer_backend/config/asgi.py | 2 +- offer_backend/config/settings/base.py | 5 ++++- offer_backend/config/settings/development.py | 8 ++++++++ offer_backend/config/wsgi.py | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/offer_backend/config/asgi.py b/offer_backend/config/asgi.py index 787b362..ee09e8d 100644 --- a/offer_backend/config/asgi.py +++ b/offer_backend/config/asgi.py @@ -11,6 +11,6 @@ import os from django.core.asgi import get_asgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.development') application = get_asgi_application() diff --git a/offer_backend/config/settings/base.py b/offer_backend/config/settings/base.py index 3982c90..ec8f389 100644 --- a/offer_backend/config/settings/base.py +++ b/offer_backend/config/settings/base.py @@ -1,6 +1,9 @@ +from datetime import timedelta from pathlib import Path + from decouple import config +# offer_backend/ (3 levels up from config/settings/base.py) BASE_DIR = Path(__file__).resolve().parent.parent.parent SECRET_KEY = config('SECRET_KEY') @@ -72,13 +75,13 @@ REST_FRAMEWORK = { 'PAGE_SIZE': 20, } -from datetime import timedelta SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(hours=2), 'REFRESH_TOKEN_LIFETIME': timedelta(days=7), } STATIC_URL = '/static/' +STATIC_ROOT = BASE_DIR / 'staticfiles' MEDIA_URL = '/media/' MEDIA_ROOT = BASE_DIR / 'media' diff --git a/offer_backend/config/settings/development.py b/offer_backend/config/settings/development.py index 8bd9d9e..5d44bbc 100644 --- a/offer_backend/config/settings/development.py +++ b/offer_backend/config/settings/development.py @@ -1,6 +1,8 @@ from .base import * DEBUG = True + +# Development only — never use '*' in production ALLOWED_HOSTS = ['*'] DATABASES = { @@ -18,9 +20,15 @@ CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': config('REDIS_URL', default='redis://127.0.0.1:6379/1'), + 'OPTIONS': { + 'CLIENT_CLASS': 'django_redis.client.DefaultClient', + 'SOCKET_CONNECT_TIMEOUT': 5, + 'SOCKET_TIMEOUT': 5, + }, } } +# Development only — allow all cross-origin requests CORS_ALLOW_ALL_ORIGINS = True EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' diff --git a/offer_backend/config/wsgi.py b/offer_backend/config/wsgi.py index 8ae71e3..cc871c0 100644 --- a/offer_backend/config/wsgi.py +++ b/offer_backend/config/wsgi.py @@ -11,6 +11,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.development') application = get_wsgi_application()