urls.py 1.9 KB

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