django-fobi/examples/simple/urls/function_based.py

159 lines
4.5 KiB
Python
Raw Normal View History

2014-10-11 03:54:24 +00:00
from django.conf import settings
2022-07-12 20:53:28 +00:00
from django.conf.urls.i18n import i18n_patterns
from django.conf.urls.static import static
2014-10-11 03:54:24 +00:00
from django.contrib import admin
2022-07-12 20:53:28 +00:00
from django.contrib.auth import views as auth_views
2014-10-11 03:54:24 +00:00
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
2022-07-12 20:53:28 +00:00
from django.urls import include, re_path as url
2014-10-11 03:54:24 +00:00
from django.views.generic import TemplateView
2022-07-12 20:53:28 +00:00
from django_nine import versions
2014-10-11 03:54:24 +00:00
from fobi.settings import DEFAULT_THEME
__all__ = (
"urlpatterns",
)
2014-10-11 03:54:24 +00:00
admin.autodiscover()
# Mapping.
fobi_theme_home_template_mapping = {
2022-07-12 20:53:28 +00:00
"bootstrap3": "home/bootstrap3.html",
"foundation5": "home/foundation5.html",
"simple": "home/simple.html",
2014-10-11 03:54:24 +00:00
}
# Get the template to be used.
fobi_home_template = fobi_theme_home_template_mapping.get(
2022-07-12 20:53:28 +00:00
DEFAULT_THEME, "home/base.html"
)
2014-10-11 03:54:24 +00:00
2022-07-12 20:53:28 +00:00
FOBI_EDIT_URLS_PREFIX = ""
if DEFAULT_THEME in ("simple", "djangocms_admin_style_theme"):
FOBI_EDIT_URLS_PREFIX = "admin/"
2014-10-11 03:54:24 +00:00
urlpatterns = []
2016-11-12 23:19:51 +00:00
url_patterns_args = [
2014-10-11 03:54:24 +00:00
# DB Store plugin URLs
2016-10-17 01:30:09 +00:00
# namespace='fobi'
2022-07-12 20:53:28 +00:00
url(
r"^fobi/plugins/form-handlers/db-store/",
include("fobi.contrib.plugins.form_handlers.db_store.urls"),
),
url(
r"^fobi/plugins/form-wizard-handlers/db-store/",
include(
"fobi.contrib.plugins.form_handlers.db_store.urls."
"form_wizard_handlers"
),
),
2014-10-11 03:54:24 +00:00
# django-fobi URLs:
2016-10-17 01:30:09 +00:00
# namespace='fobi'
url(r"^fobi/", include("fobi.urls.view")),
2016-10-17 01:30:09 +00:00
# namespace='fobi'
2022-07-12 20:53:28 +00:00
url(
r"^{0}fobi/".format(FOBI_EDIT_URLS_PREFIX),
include("fobi.urls.edit"),
2022-07-12 20:53:28 +00:00
),
url(r"^admin_tools/", include("admin_tools.urls")),
url(
r"^login/$",
auth_views.LoginView.as_view(template_name="registration/login.html"),
name="auth_login",
),
2017-12-21 22:49:49 +00:00
]
2014-10-11 03:54:24 +00:00
url_patterns_args += [
url(r"^admin/", admin.site.urls),
]
2014-10-11 03:54:24 +00:00
2017-12-21 22:49:49 +00:00
url_patterns_args += [
2014-10-11 03:54:24 +00:00
# django-registration URLs:
2021-06-21 20:53:54 +00:00
url(
2022-07-12 20:53:28 +00:00
r"^accounts/",
2021-06-21 20:53:54 +00:00
include(
2022-07-12 20:53:28 +00:00
"django_registration.backends.one_step.urls"
2021-06-21 20:53:54 +00:00
if versions.DJANGO_GTE_3_0
2022-07-12 20:53:28 +00:00
else "registration.backends.simple.urls"
),
2021-06-21 20:53:54 +00:00
),
2014-10-11 03:54:24 +00:00
# foo URLs:
2022-07-12 20:53:28 +00:00
url(r"^foo/", include("foo.urls")),
2017-02-14 19:50:05 +00:00
# bar URLs:
# url(r'^bar/', include('bar.urls')),
2022-07-12 20:53:28 +00:00
url(r"^$", TemplateView.as_view(template_name=fobi_home_template)),
2014-10-11 03:54:24 +00:00
# django-fobi public forms contrib app:
2016-10-17 01:30:09 +00:00
# url(r'^', include('fobi.contrib.apps.public_forms.urls')),
2016-11-12 23:19:51 +00:00
]
2019-05-21 19:47:00 +00:00
urlpatterns += i18n_patterns(*url_patterns_args)
2014-10-11 03:54:24 +00:00
# Serving media and static in debug/developer mode.
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
2022-07-12 20:53:28 +00:00
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
2014-10-11 03:54:24 +00:00
# Conditionally including FeinCMS URls in case if
# FeinCMS in installed apps.
2022-07-12 20:53:28 +00:00
if "feincms" in settings.INSTALLED_APPS:
2014-10-11 03:54:24 +00:00
from page.models import Page
2022-07-12 20:53:28 +00:00
2014-10-11 03:54:24 +00:00
Page
2016-11-12 23:19:51 +00:00
url_patterns_args = [
2022-07-12 20:53:28 +00:00
url(r"^pages/", include("feincms.urls")),
2016-11-12 23:19:51 +00:00
]
2020-01-11 01:11:28 +00:00
urlpatterns += i18n_patterns(*url_patterns_args)
2017-12-21 13:09:47 +00:00
# # Conditionally include django-markdownx
# if 'markdownx' in settings.INSTALLED_APPS:
# url_patterns_args = [
# url(r'^markdownx/', include('markdownx.urls')),
# ]
# urlpatterns += list(url_patterns_args)
2017-11-30 19:36:57 +00:00
2022-07-12 20:53:28 +00:00
if "ckeditor_uploader" in settings.INSTALLED_APPS:
url_patterns_args = [
2022-07-12 20:53:28 +00:00
url(r"^ckeditor/", include("ckeditor_uploader.urls")),
]
2020-01-11 01:11:28 +00:00
urlpatterns += i18n_patterns(*url_patterns_args)
# Conditionally including DjangoCMS URls in case if
# DjangoCMS in installed apps.
2022-07-12 20:53:28 +00:00
if "cms" in settings.INSTALLED_APPS:
2016-11-12 23:19:51 +00:00
url_patterns_args = [
2022-07-12 20:53:28 +00:00
url(r"^cms-pages/", include("cms.urls")),
2016-11-12 23:19:51 +00:00
]
2020-01-11 01:11:28 +00:00
urlpatterns += i18n_patterns(*url_patterns_args)
2017-05-16 21:20:11 +00:00
# Conditionally including Django REST framework integration app
2022-07-12 20:53:28 +00:00
if "fobi.contrib.apps.drf_integration" in settings.INSTALLED_APPS:
from fobi.contrib.apps.drf_integration.urls import fobi_router
2022-07-12 20:53:28 +00:00
urlpatterns += [url(r"^api/", include(fobi_router.urls))]
# Conditionally including Captcha URls in case if
# Captcha in installed apps.
2022-07-12 20:53:28 +00:00
if getattr(settings, "ENABLE_CAPTCHA", False):
2016-11-29 23:02:41 +00:00
try:
from captcha.fields import ReCaptchaField
except ImportError:
try:
from captcha.fields import CaptchaField
2022-07-12 20:53:28 +00:00
if "captcha" in settings.INSTALLED_APPS:
2016-11-29 23:02:41 +00:00
urlpatterns += [
2022-07-12 20:53:28 +00:00
url(r"^captcha/", include("captcha.urls")),
2016-11-29 23:02:41 +00:00
]
except ImportError:
pass
2017-08-01 22:49:04 +00:00
2022-07-12 20:53:28 +00:00
if getattr(settings, "DEBUG", False) and getattr(
settings, "DEBUG_TOOLBAR", False
2020-01-10 22:56:18 +00:00
):
2017-08-01 22:49:04 +00:00
import debug_toolbar
2017-12-21 22:49:49 +00:00
2020-01-10 22:56:18 +00:00
urlpatterns = [
2022-07-12 20:53:28 +00:00
url(r"^__debug__/", include(debug_toolbar.urls)),
2020-01-10 22:56:18 +00:00
] + urlpatterns