Files
Student-Management-System-I…/student_management_system/urls.py
T
2025-04-22 03:47:31 +05:45

56 lines
2.4 KiB
Python

"""
URL configuration for student_management_system project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/5.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
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, TemplateView
from app import views
from app import auth
# Main URL patterns for the project
urlpatterns = [
# Application URLs ------------------------------------------------
path("app/", include("app.urls")),
# path("", custom_admin_site.urls, name="admin"),
# Root Redirect --------------------------------------------------
# path("", RedirectView.as_view(url="/app/dashboard/", permanent=False)),
# Authentication -------------------------------------------------
path("login/", auth.custom_login, name="login"),
path("logout/", auth_views.LogoutView.as_view(next_page="/login/"), name="logout"),
# Password Management --------------------------------------------
path("password-reset/", auth.reset_password_options, name="password_reset"),
# Firebase Service -----------------------------------------------
path("firebase-messaging-sw.js", views.serve_firebase_sw),
]
urlpatterns.append(path("", custom_admin_site.urls, name="admin"))
# Static and Media Files (Development Only) --------------------------
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# Error Handlers ----------------------------------------------------
handler400 = "app.error_handlers.handler400"
handler403 = "app.error_handlers.handler403"
handler404 = "app.error_handlers.handler404"
handler500 = "app.error_handlers.handler500"
handler505 = "app.error_handlers.handler505"