This commit is contained in:
2024-05-09 17:20:16 +03:00
parent c1b3101de6
commit 9a5f895b93
28 changed files with 908 additions and 0 deletions

51
config/urls.py Normal file
View File

@@ -0,0 +1,51 @@
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
#from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView, TokenVerifyView
# Вставки из апсов приложения
# Машиночитаемая [схема] описывает, какие ресурсы доступны через API
schema_view = get_schema_view(
openapi.Info(
title="vikileo.shop API",
default_version='v1',
description="vikileo.shop API Documentation",
),
public=True,
permission_classes=(permissions.AllowAny,),
)
# Префикс для понтов, можно без него но сним проще ориентироваться что должно иди на фронт, а что для тестов.
api_prefix = 'api'
# Кортежи адресов для системных приложений
urlpatterns_system = [
path('admin/', admin.site.urls),# Адрес админ панели
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-redoc'), # API сборник адресов
]
# Кортежи адресов для приложений
urlpatterns_apps = [
path('', include('main.urls')), # Адрес главной странице (заглушка)
path(f'{api_prefix}/', include('config.accounts.urls')), # Адрес управление учётными данными
#path(f'{api_prefix}/', include('system.comments.urls')), # Адрес комментариев от пользователей
#path(f'{api_prefix}/', include('todos.urls')), # Адрес статей
#path(f'{api_prefix}/', include('articles.urls')), # Адрес стадей для пользователей
]
# Кортежи адресов для тестовых приложений
urlpatterns_test = [
#path('/accounts/', include('system.accounts.urls')), # Адрес управление учётными данными
#path(f'{api_prefix}/token/', obtain_token, name='token_obtain_pair'),
#path(f'{api_prefix}/protected/', protected_view, name='protected_view'),
path('api-rest/', include('rest_framework.urls')), # API rest, допилить виюшку
#path(f'{api_prefix}/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'), # Присвоение токена
#path(f'{api_prefix}/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'), # Перевыдача токена
#path(f'{api_prefix}/token/verify/', TokenVerifyView.as_view(), name='token_verify'), # Верифекация токена
#path(f'{api_prefix}/', include('system.media.urls')), # Адрес файлаобменника
]
# Объединение кортежа адресов
urlpatterns = urlpatterns_system + urlpatterns_apps + urlpatterns_test
# Обслуживание файлов, загруженных пользователем во время разработки
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)