Рендеринг пользовательских html-шаблонов в Django

Я не эксперт в Django, но это программное обеспечение написано на Django с использованием фреймворка rest, и мне нужно внести в него изменения: https://github.com/openvinotoolkit/cvat/tree/develop/cvat

Мне нужно создать пользовательский html-шаблон, и вот что я сделал на данный момент. Я создал новую папку в apps под названием custom с этими файлами:

cvat/apps/custom/templates/custom/<name>.htmlcustom есть различные html шаблоны с разными "именами". т.е. a.html, b.html, c.html и т.д.)

Другие файлы в cvat/apps/custom:

cvat/apps/custom/__init_.py

cvat/apps/custom/apps.py

from django.apps import AppConfig

class CustomConfig(AppConfig):
    name = 'cvat.apps.custom'

cvat/apps/custom/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('custom/<str:name>', views.CustomView),
]

cvat/apps/custom/views.py

from django.shortcuts import render

def CustomView(request, name):
    return render(request, 'custom/'+name+'.html')

Кроме того, я изменил эти существующие файлы, чтобы добавить папку custom, которая была создана в apps:

https://github.com/openvinotoolkit/cvat/blob/develop/cvat/urls.py#L27

добавлено path('custom/', include('cvat.apps.custom.urls')),:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('custom/', include('cvat.apps.custom.urls')),
    path('', include('cvat.apps.engine.urls')),
    path('django-rq/', include('django_rq.urls')),
]

https://github.com/openvinotoolkit/cvat/blob/develop/cvat/settings/base.py#L129

INSTALLED_APPS = [
...
    'cvat.apps.custom'
]

Однако, когда я перехожу на http://localhost:8080/custom/custom/a
. я получаю перенаправление на другую страницу - не a.html Любой совет о том, что я делаю неправильно?

Вы можете попробовать что-то вроде этого

url может иметь следующий вид

urlpatterns = [
    path('custom/<name>/', views.CustomView),
]

и ваш вид должен выглядеть следующим образом.

def CustomView(request, name):
    return render(request, f'custom/{name}.html')

Надеюсь, это поможет вам.

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