Добавьте все шаблоны в urls.py url_patterns в django

В моем проекте много шаблонов. Я хочу добавить их в urls.py, не вводя каждый из них. Я хочу зациклить их в моих url_patterns. Есть ли способ добавить все мои шаблоны в urls.py?

После небольшого мозгового штурма я нашел способ циклического просмотра папки с шаблонами и добавления всех файлов в url_pattern. После url_patterns получите список шаблонов с помощью метода os.listdir(). Затем просто переберите их, добавьте в route и, наконец, добавьте в url_patterns.

import os
from core.settings import BASE_DIR
from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView


urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('snippets.urls')),
]

dir = os.path.join(BASE_DIR, 'templates')
file_list = os.listdir(dir)
for file in file_list:
    path_url = file.replace('.html', '/')
    name = file.replace('.html', '')
    route = path(path_url, TemplateView.as_view(template_name=file),
                        name=name)
    urlpatterns.append(route)

надеюсь, это поможет :)

Вернуться на верх