Files
thrillwiki_django_no_react/thrillwiki/urls.py
pacnpal 298e2a80cb lol
2024-10-29 23:11:55 -04:00

53 lines
2.1 KiB
Python

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from accounts import views as accounts_views
from django.views.generic import TemplateView
from .views import HomeView, SearchView
urlpatterns = [
path('admin/', admin.site.urls),
# Main app URLs
path('', HomeView.as_view(), name='home'),
# Parks URLs
path('parks/', include('parks.urls', namespace='parks')),
path('rides/', include('rides.urls', namespace='rides')),
# Other URLs
path('reviews/', include('reviews.urls')),
path('companies/', include('companies.urls')),
path('search/', SearchView.as_view(), name='search'),
path('terms/', TemplateView.as_view(template_name='pages/terms.html'), name='terms'),
path('privacy/', TemplateView.as_view(template_name='pages/privacy.html'), name='privacy'),
# Custom authentication URLs first (to override allauth defaults)
path('accounts/', include('accounts.urls')),
# Default allauth URLs (for social auth and other features)
path('accounts/', include('allauth.urls')),
path('accounts/email-required/', accounts_views.email_required, name='email_required'),
# User profile URLs
path('user/<str:username>/', accounts_views.ProfileView.as_view(), name='user_profile'),
path('profile/<str:username>/', accounts_views.ProfileView.as_view(), name='profile'),
path('settings/', accounts_views.SettingsView.as_view(), name='settings'),
# Redirect /user/ to the user's profile if logged in
path('user/', accounts_views.user_redirect_view, name='user_redirect'),
# Moderation URLs - placed after other URLs but before static/media serving
path('moderation/', include('moderation.urls', namespace='moderation')),
]
# Serve static files 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)
handler404 = 'thrillwiki.views.handler404'
handler500 = 'thrillwiki.views.handler500'