urls.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. """backend URL Configuration
  2. The `urlpatterns` list routes URLs to views. For more information please see:
  3. https://docs.djangoproject.com/en/3.2/topics/http/urls/
  4. Examples:
  5. Function views
  6. 1. Add an import: from my_app import views
  7. 2. Add a URL to urlpatterns: path('', views.home, name='home')
  8. Class-based views
  9. 1. Add an import: from other_app.views import Home
  10. 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
  11. Including another URLconf
  12. 1. Import the include() function: from django.urls import include, path
  13. 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
  14. """
  15. from django.conf.urls.static import static
  16. from django.urls import path, include, re_path
  17. from drf_yasg import openapi
  18. from drf_yasg.views import get_schema_view
  19. from rest_framework import permissions
  20. from rest_framework_simplejwt.views import (
  21. TokenRefreshView,
  22. )
  23. from application import dispatch
  24. from application import settings
  25. from dvadmin.system.views.dictionary import InitDictionaryViewSet
  26. from dvadmin.system.views.login import (
  27. LoginView,
  28. CaptchaView,
  29. ApiLogin,
  30. LogoutView, CustomTokenRefreshView,
  31. )
  32. from dvadmin.system.views.system_config import InitSettingsViewSet
  33. from dvadmin.utils.swagger import CustomOpenAPISchemaGenerator
  34. # =========== 初始化系统配置 =================
  35. dispatch.init_system_config()
  36. dispatch.init_dictionary()
  37. # =========== 初始化系统配置 =================
  38. schema_view = get_schema_view(
  39. openapi.Info(
  40. title="Snippets API",
  41. default_version="v1",
  42. description="Test description",
  43. terms_of_service="https://www.google.com/policies/terms/",
  44. contact=openapi.Contact(email="contact@snippets.local"),
  45. license=openapi.License(name="BSD License"),
  46. ),
  47. public=True,
  48. permission_classes=(permissions.AllowAny,),
  49. generator_class=CustomOpenAPISchemaGenerator,
  50. )
  51. urlpatterns = (
  52. [
  53. re_path(
  54. r"^swagger(?P<format>\.json|\.yaml)$",
  55. schema_view.without_ui(cache_timeout=0),
  56. name="schema-json",
  57. ),
  58. path(
  59. "",
  60. schema_view.with_ui("swagger", cache_timeout=0),
  61. name="schema-swagger-ui",
  62. ),
  63. path(
  64. r"redoc/",
  65. schema_view.with_ui("redoc", cache_timeout=0),
  66. name="schema-redoc",
  67. ),
  68. path("api/algorithm/", include("algorithm.urls")), # 添加的demo urls
  69. re_path(
  70. r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")
  71. ),
  72. ]
  73. + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  74. + static(settings.STATIC_URL, document_root=settings.STATIC_URL)
  75. + [re_path(ele.get('re_path'), include(ele.get('include'))) for ele in settings.PLUGINS_URL_PATTERNS]
  76. )