diff --git a/.env.sample b/.env.sample index 4740f26..2d19ba7 100644 --- a/.env.sample +++ b/.env.sample @@ -22,6 +22,9 @@ SITE_BASE_URL=https://yourdomain.com # Админы для email-оповещений Django (формат: Имя:email,Имя2:email2) ADMINS=Admin:admin@example.com +# URL для доступа к админке Django (можно сменить для безопасности, чтобы боты не могли её найти) +ADMIN_URL=admin/ + # ============================================================================ # DATABASE # ============================================================================ diff --git a/oknardia/oknardia/settings.py b/oknardia/oknardia/settings.py index 20196bc..68a5d10 100644 --- a/oknardia/oknardia/settings.py +++ b/oknardia/oknardia/settings.py @@ -25,15 +25,25 @@ STATIC_SOURCE_ROOT = PUBLIC_ROOT / 'static' env = environ.Env() environ.Env.read_env(str(PROJECT_ROOT / '.env')) +def _normalize_admin_url(value: str) -> str: + """Приводит URL админки к виду `segment/` без ведущего слэша.""" + normalized = value.strip().lstrip('/') + if not normalized: + return 'admin/' + if not normalized.endswith('/'): + normalized += '/' + return normalized + # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = env( - 'DJANGO_SECRET_KEY', + var='DJANGO_SECRET_KEY', default='django-insecure-pd&1$j6z*1w#(j*16b+(@@#&2)+@x^^ot4)zqt-e67*1+$^qch', ) +ADMIN_URL = _normalize_admin_url(env(var='ADMIN_URL', default='admin/')) # SECURITY WARNING: don't run with debug turned on in production! # ПРЕДУПРЕЖДЕНИЕ БЕЗОПАСНОСТИ: не работайте в режиме DEBUG в продашене! diff --git a/oknardia/oknardia/urls.py b/oknardia/oknardia/urls.py index 1c5f25c..c46c6af 100644 --- a/oknardia/oknardia/urls.py +++ b/oknardia/oknardia/urls.py @@ -22,7 +22,7 @@ from web import views, autocomplete_addr, user_manager, blog, diagrams, report1, catalog_profiles, catalog_series, catalog_openings, catalog_companies urlpatterns = [ - path('admin/', admin.site.urls), + path(ADMIN_URL, admin.site.urls), # главная страница re_path(r'^$', views.main_init),