urls.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from django.urls import include, path
  2. from django.views.generic import TemplateView
  3. from . import hooks
  4. from .conf import settings
  5. from .core.views import forum_index
  6. app_name = "misago"
  7. # Register Misago Apps
  8. urlpatterns = hooks.urlpatterns + [
  9. path("", include("misago.analytics.urls")),
  10. path("", include("misago.legal.urls")),
  11. path("", include("misago.users.urls")),
  12. path("", include("misago.categories.urls")),
  13. path("", include("misago.threads.urls")),
  14. path("", include("misago.search.urls")),
  15. path("", include("misago.oauth2.urls")),
  16. path("", include("misago.socialauth.urls")),
  17. path("", include("misago.healthcheck.urls")),
  18. # default robots.txt
  19. path(
  20. "robots.txt",
  21. TemplateView.as_view(
  22. content_type="text/plain", template_name="misago/robots.txt"
  23. ),
  24. ),
  25. # "misago:index" link symbolises "root" of Misago links space
  26. # any request with path that falls below this one is assumed to be directed
  27. # at Misago and will be handled by misago.views.exceptionhandler if it
  28. # results in Http404 or PermissionDenied exception
  29. path("", forum_index, name="index"),
  30. ]
  31. # Register API
  32. apipatterns = hooks.apipatterns + [
  33. path("", include("misago.categories.urls.api")),
  34. path("", include("misago.legal.urls.api")),
  35. path("", include("misago.markup.urls")),
  36. path("", include("misago.threads.urls.api")),
  37. path("", include("misago.users.urls.api")),
  38. path("", include("misago.search.urls.api")),
  39. ]
  40. urlpatterns += [path("api/", include((apipatterns, "api"), namespace="api"))]
  41. # Register Misago ACP
  42. if settings.MISAGO_ADMIN_PATH:
  43. # Admin patterns recognised by Misago
  44. adminpatterns = [path("", include("misago.admin.urls"))]
  45. admin_prefix = f"{settings.MISAGO_ADMIN_PATH}/"
  46. urlpatterns += [
  47. path(admin_prefix, include((adminpatterns, "admin"), namespace="admin"))
  48. ]