urls.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.socialauth.urls")),
  16. path("", include("misago.healthcheck.urls")),
  17. # default robots.txt
  18. path(
  19. "robots.txt",
  20. TemplateView.as_view(
  21. content_type="text/plain", template_name="misago/robots.txt"
  22. ),
  23. ),
  24. # "misago:index" link symbolises "root" of Misago links space
  25. # any request with path that falls below this one is assumed to be directed
  26. # at Misago and will be handled by misago.views.exceptionhandler if it
  27. # results in Http404 or PermissionDenied exception
  28. path("", forum_index, name="index"),
  29. ]
  30. # Register API
  31. apipatterns = hooks.apipatterns + [
  32. path("", include("misago.categories.urls.api")),
  33. path("", include("misago.legal.urls.api")),
  34. path("", include("misago.markup.urls")),
  35. path("", include("misago.threads.urls.api")),
  36. path("", include("misago.users.urls.api")),
  37. path("", include("misago.search.urls.api")),
  38. ]
  39. urlpatterns += [path("api/", include((apipatterns, "api"), namespace="api"))]
  40. # Register Misago ACP
  41. if settings.MISAGO_ADMIN_PATH:
  42. # Admin patterns recognised by Misago
  43. adminpatterns = [path("", include("misago.admin.urls"))]
  44. admin_prefix = f"{settings.MISAGO_ADMIN_PATH}/"
  45. urlpatterns += [
  46. path(admin_prefix, include((adminpatterns, "admin"), namespace="admin"))
  47. ]