2025-01-27 15:07:38 +01:00
|
|
|
from django.conf import settings
|
2025-02-28 17:19:03 +01:00
|
|
|
from django.conf.urls import handler400, handler404, handler500
|
2025-01-27 15:07:38 +01:00
|
|
|
from django.conf.urls.static import static
|
2025-01-27 14:58:23 +01:00
|
|
|
from django.contrib import admin
|
2025-02-28 17:19:03 +01:00
|
|
|
from django.shortcuts import render
|
2025-01-27 14:58:23 +01:00
|
|
|
from django.urls import path, include
|
2025-03-03 15:57:08 +01:00
|
|
|
from django.contrib.sitemaps.views import sitemap
|
|
|
|
from django.http import HttpResponse
|
|
|
|
|
2025-01-27 14:58:23 +01:00
|
|
|
|
2025-02-28 17:19:03 +01:00
|
|
|
from hub.services.views.errors import bad_request, page_not_found, server_error
|
2025-03-03 15:57:08 +01:00
|
|
|
from .sitemaps import (
|
|
|
|
StaticSitemap,
|
|
|
|
ServiceSitemap,
|
|
|
|
OfferingSitemap,
|
|
|
|
CloudProviderSitemap,
|
|
|
|
ConsultingPartnerSitemap,
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
def robots_txt(request):
|
|
|
|
content = """User-agent: *
|
|
|
|
Allow: /
|
|
|
|
Sitemap: https://serva.la/sitemap.xml
|
|
|
|
"""
|
|
|
|
return HttpResponse(content, content_type="text/plain")
|
|
|
|
|
2025-02-28 17:19:03 +01:00
|
|
|
|
|
|
|
handler400 = "hub.services.views.errors.bad_request"
|
|
|
|
handler404 = "hub.services.views.errors.page_not_found"
|
|
|
|
handler500 = "hub.services.views.errors.server_error"
|
|
|
|
|
2025-03-03 15:57:08 +01:00
|
|
|
sitemaps = {
|
|
|
|
"static": StaticSitemap,
|
|
|
|
"services": ServiceSitemap,
|
|
|
|
"offerings": OfferingSitemap,
|
|
|
|
"providers": CloudProviderSitemap,
|
|
|
|
"partners": ConsultingPartnerSitemap,
|
|
|
|
}
|
|
|
|
|
2025-01-27 14:58:23 +01:00
|
|
|
urlpatterns = [
|
|
|
|
path("admin/", admin.site.urls),
|
2025-01-30 11:23:25 +01:00
|
|
|
path("", include("hub.services.urls")),
|
2025-01-31 15:34:10 +01:00
|
|
|
path("broker/", include("hub.broker.urls", namespace="broker")),
|
2025-03-03 16:05:14 +01:00
|
|
|
path(
|
|
|
|
"sitemap.xml",
|
|
|
|
sitemap,
|
|
|
|
{"sitemaps": sitemaps},
|
|
|
|
name="django.contrib.sitemaps.views.sitemap",
|
|
|
|
),
|
|
|
|
path("robots.txt", robots_txt, name="robots_txt"),
|
2025-01-27 14:58:23 +01:00
|
|
|
]
|
2025-01-27 15:07:38 +01:00
|
|
|
if settings.DEBUG:
|
|
|
|
urlpatterns += [
|
|
|
|
path("__reload__/", include("django_browser_reload.urls")),
|
2025-01-28 13:55:43 +01:00
|
|
|
path("schema-viewer/", include("schema_viewer.urls")),
|
2025-02-28 17:19:03 +01:00
|
|
|
path("test-400/", lambda request: render(request, "400.html"), name="test_400"),
|
|
|
|
path("test-404/", lambda request: render(request, "404.html"), name="test_404"),
|
|
|
|
path("test-500/", lambda request: render(request, "500.html"), name="test_500"),
|
2025-01-27 15:07:38 +01:00
|
|
|
]
|
|
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|