Реверс для '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'),]

шаблоном для строителя является -

Спасибо вам, добрые люди.

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