urls.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.conf import settings
  2. from django.conf.urls import include, url
  3. from misago.core.views import forum_index
  4. # Register Misago Apps
  5. urlpatterns = [
  6. url(r'^', include('misago.legal.urls')),
  7. url(r'^', include('misago.users.urls')),
  8. url(r'^', include('misago.categories.urls')),
  9. url(r'^', include('misago.threads.urls')),
  10. # "misago:index" link symbolises "root" of Misago links space
  11. # any request with path that falls below this one is assumed to be directed
  12. # at Misago and will be handled by misago.views.exceptionhandler if it
  13. # results in Http404 or PermissionDenied exception
  14. url(r'^$', forum_index, name='index'),
  15. ]
  16. # Register API
  17. apipatterns = [
  18. url(r'^', include('misago.categories.urls.api')),
  19. url(r'^', include('misago.threads.urls.api')),
  20. url(r'^', include('misago.users.urls.api')),
  21. ]
  22. urlpatterns += [
  23. url(r'^api/', include(apipatterns, namespace='api')),
  24. ]
  25. # Register Misago ACP
  26. if settings.MISAGO_ADMIN_PATH:
  27. # Admin patterns recognised by Misago
  28. adminpatterns = [
  29. url(r'^', include('misago.admin.urls')),
  30. ]
  31. admin_prefix = r'^%s/' % settings.MISAGO_ADMIN_PATH
  32. urlpatterns += [
  33. url(admin_prefix, include(adminpatterns, namespace='admin')),
  34. ]
  35. # Make error pages accessible casually in DEBUG
  36. if settings.DEBUG:
  37. from misago.core import errorpages
  38. urlpatterns += [
  39. url(r'^403/$', errorpages.permission_denied),
  40. url(r'^404/$', errorpages.page_not_found),
  41. url(r'^405/$', errorpages.not_allowed),
  42. url(r'^csrf-failure/$', errorpages.csrf_failure),
  43. ]