74 lines
2.3 KiB
Python
74 lines
2.3 KiB
Python
"""
|
|
Fichier principal de configuration des urls du projet GestioCOF
|
|
"""
|
|
|
|
from django.conf import settings
|
|
from django.conf.urls.i18n import i18n_patterns
|
|
from django.conf.urls.static import static
|
|
from django.contrib import admin
|
|
from django.urls import include, path
|
|
from django.views.generic.base import RedirectView
|
|
|
|
bds_is_alone = (
|
|
"bds" in settings.INSTALLED_APPS and "gestioncof" not in settings.INSTALLED_APPS
|
|
)
|
|
|
|
admin.autodiscover()
|
|
urlpatterns = [
|
|
# Website administration (independent from installed apps)
|
|
path("admin/doc/", include("django.contrib.admindocs.urls")),
|
|
path("admin/", admin.site.urls),
|
|
]
|
|
|
|
if not bds_is_alone:
|
|
# Redirection / → /gestion, only useful for developpers.
|
|
urlpatterns.append(path("", RedirectView.as_view(url="gestion/")))
|
|
|
|
# App-specific urls
|
|
|
|
app_dict = {
|
|
"bds": "" if bds_is_alone else "bds/",
|
|
"kfet": "k-fet/",
|
|
# Below = GestioCOF → goes under gestion/
|
|
"gestioncof": "gestion/",
|
|
"bda": "gestion/bda/",
|
|
"petitscours": "gestion/petitcours/",
|
|
"events": "gestion/event_v2/", # the events module is still experimental !
|
|
"authens": "gestion/authens/",
|
|
}
|
|
for app_name, url_prefix in app_dict.items():
|
|
if app_name in settings.INSTALLED_APPS:
|
|
urlpatterns += [path(url_prefix, include("{}.urls".format(app_name)))]
|
|
|
|
|
|
if "django_js_reverse" in settings.INSTALLED_APPS:
|
|
from django_js_reverse.views import urls_js
|
|
|
|
urlpatterns += [
|
|
path("jsreverse/", urls_js, name="js_reverse"),
|
|
]
|
|
|
|
if "debug_toolbar" in settings.INSTALLED_APPS:
|
|
import debug_toolbar
|
|
|
|
urlpatterns += [path("__debug__/", include(debug_toolbar.urls))]
|
|
|
|
if settings.DEBUG:
|
|
# Si on est en production, MEDIA_ROOT est servi par Apache.
|
|
# Il faut dire à Django de servir MEDIA_ROOT lui-même en développement.
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
|
|
|
|
# Wagtail URLs (wagtail urls must be last, as catch-all)
|
|
if "wagtail" in settings.INSTALLED_APPS:
|
|
from wagtail import urls as wagtail_urls
|
|
from wagtail.admin import urls as wagtailadmin_urls
|
|
from wagtail.documents import urls as wagtaildocs_urls
|
|
|
|
urlpatterns += [
|
|
path("cms/", include(wagtailadmin_urls)),
|
|
path("documents/", include(wagtaildocs_urls)),
|
|
]
|
|
urlpatterns += i18n_patterns(
|
|
path("", include(wagtail_urls)), prefix_default_language=False
|
|
)
|