Template
Extract always-on public/portal/UTM plus optional email_sms, directmail, blog, payments, social, and social_ai so new client sites can be bootstrapped from this seed. Refs #1 Refs #2 Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
"""URL configuration. Optional apps are included only when installed."""
|
|
|
|
from django.apps import apps
|
|
from django.contrib import admin
|
|
from django.urls import include, path
|
|
|
|
from contacts.views import address_suggest
|
|
from core.views import healthz
|
|
|
|
urlpatterns = [
|
|
path("healthz/", healthz, name="healthz"),
|
|
path("api/address-suggest/", address_suggest, name="address_suggest"),
|
|
path("files/", include("core.urls")),
|
|
path("admin/", admin.site.urls),
|
|
path("accounts/", include("accounts.urls")),
|
|
path("portal/", include("dashboard.urls")),
|
|
path("portal/leads/", include("leads.urls")),
|
|
path("portal/contacts/", include("contacts.urls")),
|
|
path("portal/analytics/", include("analytics.urls")),
|
|
path("", include("public.urls")),
|
|
]
|
|
|
|
if apps.is_installed("email_sms"):
|
|
urlpatterns += [path("portal/messaging/", include("email_sms.urls"))]
|
|
if apps.is_installed("directmail"):
|
|
urlpatterns += [path("portal/direct-mail/", include("directmail.urls"))]
|
|
if apps.is_installed("blog"):
|
|
urlpatterns += [
|
|
path("blog/", include("blog.public_urls")),
|
|
path("portal/blog/", include("blog.portal_urls")),
|
|
]
|
|
if apps.is_installed("payments"):
|
|
urlpatterns += [
|
|
path("portal/payments/", include("payments.urls")),
|
|
path("pay/", include("payments.public_urls")),
|
|
]
|
|
if apps.is_installed("social"):
|
|
urlpatterns += [path("portal/social/", include("social.urls"))]
|
|
if apps.is_installed("social_ai"):
|
|
urlpatterns += [
|
|
path("portal/social/api/generate/", include("social_ai.urls")),
|
|
]
|
|
|
|
handler404 = "public.views.page_not_found"
|