Я хочу отправить текст в представление через шаблон. У меня есть два разных типа клиентов, которые будут обрабатываться по-разному. Чтобы воспользоваться преимуществом кода, я поместил его в одно представление, а конкретная часть обработала его с помощью if else.

В шаблоне:

<a href="{% url 'client' 'prime' %}"> Client prime </a>
<a href="{% url 'client' 'free' %}"> Client </a>

В urls.py

....
path('client/<str:typeclient>', Client, name='client'),
.....

В представлении:

def Client(request, typeclient):
    ...
    if typeclient == "prime":
       ...
    else:
      ....

Однако я получаю следующую ошибку:

NoReverseMatch at /

Reverse for 'client' with no arguments not found. 1 pattern(s) tried: ['client\\/(?P<typeclient>[^/]+)$']

По-видимому, текст не передается в качестве параметра, который я вставил в URL-адрес.

В этом смысле, как я могу передать текст из шаблона по URL-адресу?

2
Beto 9 Фев 2021 в 15:36

1 ответ

Лучший ответ

Попробуй это

 path('client/<typeclient>', Client, name='client'),


 <a href="{% url 'client' 'prime' %}"> Client prime </a>
 <a href="{% url 'client' 'free' %}"> Client </a>

Прочтите этот https://docs.djangoproject.com/en/3.1/topics / http / urls /

https://docs.djangoproject.com/en/3.1/ref/templates/builtins/#url

2
c.grey 9 Фев 2021 в 13:14