Реверс для 'design' с аргументами '('', ''')' не найден. Испробован 1 шаблон(ы):['builder\/design\/(?P<template_id>[^/]+)\/(?P<template_type>[^/]+)\\\/$'].
Я пытаюсь использовать конструктор, в котором пользователи могут выбирать макет. Но получаю следующую ошибку -
> NoReverseMatch at /builder/
>
> Reverse for 'design' with arguments '('', '')' not found. 1 pattern(s) tried:
> ['builder\\/design\\/(?P<template_id>[^/]+)\\/(?P<template_type>[^/]+)\\/$']
Я действительно потерялся. Я видел много похожих вопросов. Я попробовал решения, предложенные в них, но не смог решить проблему. Я проверил имена переменных, я проверил шаблон, контекст, который я отправляю, имеет все элементы.
Мое мнение -
def index(request):
user_id = request.user.id
templates = Template.objects.filter(Q(user_id=user_id) | Q(user_id=1), builder=2).order_by('id')
layouts = templates.filter(layout=1, user_id=1).order_by('title')
others = templates.filter(layout=2, user_id=1).order_by('id')
owns = templates.filter(user_id=user_id).order_by('id')
context = {'title': 'Template Builder', 'layouts': layouts, 'others': others, 'owns': owns}
return render(request, 'builder/index.html', context)
urls.py -
from django.urls import path, re_path
from . import views
urlpatterns = [
path('', views.index, name='builder'),
path('design/<str:template_id>/<str:template_type>/', views.design, name='design'),]
шаблоном для строителя является -
Спасибо вам, добрые люди.