huge updates

This commit is contained in:
sankalp committed 2025-04-03 16:30:28 +05:45
1 parent 861d64c95a
commit ee89d38489
56 files changed
+10130 -4185

No files matched your search

+22 -25
View File
@@ -25,12 +25,12 @@ BASE_DIR = Path(__file__).resolve().parent.parent
# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.getenv("DJANGO_SECRET_KEY")
SECRET_KEY = os.getenv('DJANGO_SECRET_KEY')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.getenv("DJANGO_DEBUG", "False") == "True"
DEBUG = os.getenv('DJANGO_DEBUG', 'False') == 'True'
ALLOWED_HOSTS = os.getenv("DJANGO_ALLOWED_HOSTS", "*").split(",")
ALLOWED_HOSTS = os.getenv('DJANGO_ALLOWED_HOSTS', '*').split(',')
# Application definition
@@ -49,6 +49,7 @@ INSTALLED_APPS = [
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
@@ -128,7 +129,7 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/5.1/howto/static-files/
STATIC_URL = "static/"
STATIC_URL = "/static/"
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
@@ -137,6 +138,10 @@ STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
# Configure whitenoise
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
# Default primary key field type
# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field
@@ -151,35 +156,27 @@ JAZZMIN_SETTINGS = JAZZMIN_SETTINGS
JAZZMIN_UI_TWEAKS = JAZZMIN_UI_TWEAKS
# Login redirect URL
LOGIN_REDIRECT_URL = "/app/dashboard/"
LOGIN_URL = "/login/"
LOGIN_REDIRECT_URL = '/app/dashboard/'
LOGIN_URL = '/login/'
# Email Configuration
EMAIL_BACKEND = os.getenv(
"EMAIL_BACKEND", "django.core.mail.backends.console.EmailBackend"
)
DEFAULT_FROM_EMAIL = os.getenv(
"DEFAULT_FROM_EMAIL", "noreply@studentmanagementsystem.com"
)
EMAIL_BACKEND = os.getenv('EMAIL_BACKEND', 'django.core.mail.backends.console.EmailBackend')
DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'noreply@studentmanagementsystem.com')
# Cache configuration for OTP storage
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
"LOCATION": os.getenv("CACHE_LOCATION", "unique-snowflake"),
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': os.getenv('CACHE_LOCATION', 'unique-snowflake'),
}
}
# SMS API configuration
SMS_API_KEY = os.getenv("SMS_API_KEY", "")
SMS_SENDER_ID = os.getenv("SMS_SENDER_ID", "SMSSYS")
SMS_API_KEY = os.getenv('SMS_API_KEY', '')
SMS_SENDER_ID = os.getenv('SMS_SENDER_ID', 'SMSSYS')
# CSRF_TRUSTED_ORIGINS = [
# "https://ab4c-2405-acc0-1504-65ce-00-2.ngrok-free.app"
# ]
#
# CSRF_TRUSTED_ORIGINS = [
# "https://*.ngrok-free.app",
# "https://*.ngrok.io"
# ]
CSRF_TRUSTED_ORIGINS = [
"https://*.ngrok-free.app",
"https://*.ngrok.io"
]
+14 -10
View File
@@ -21,26 +21,30 @@ from django.conf import settings
from django.conf.urls.static import static
from django.contrib.auth import views as auth_views
from app.admin import custom_admin_site
from django.views.generic import RedirectView
from django.views.generic import RedirectView, TemplateView
from app import views
from app import auth
# Serve media files without requiring authentication
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# Add other URL patterns
urlpatterns += [
# Main URL patterns for the project
urlpatterns = [
path("app/", include("app.urls")),
path("admin/", custom_admin_site.urls), # Admin site at /admin/
path("", RedirectView.as_view(url="/app/dashboard/", permanent=False)), # Redirect root to dashboard
path("admin/", custom_admin_site.urls),
# Custom login and logout views
# Root URL redirects to dashboard
path("", RedirectView.as_view(url="/app/dashboard/", permanent=False)),
# Authentication URLs
path('login/', auth_views.LoginView.as_view(template_name='login/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(next_page='/login/'), name='logout'),
# Password reset views - main entry point
# Password reset URLs
path('password-reset/', auth.reset_password_options, name='password_reset'),
# Firebase service worker URL
path('firebase-messaging-sw.js', views.serve_firebase_sw),
]
# Add static and media file serving in development
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)