Я передаю параметр в URL-адресе. Я хочу передать параметр из veiw с помощью функции render() и поместить в шаблон URL-адреса формы.

Url.py

 path('log/<x>', csrf_exempt(views.login) , name='login-bot')

Veiw.py

def login(request, x=123):
     
     return render(request, 'chat/user_info_add.html', {'x':x} )

Шаблон (user_info_add.html)

Вот смотрите, я поместил значение в x={{x}}, но не работает, значит не получает значение-------

В атрибуте действия формы я пробовал '{{x}}' и работал так же, как строка, а не то значение, которое я отправлял из veiw, но без кавычек, что дает синтаксическую ошибку шаблона

<div class="first_loginbox">
   
    
    <form action="{% url 'chat:login-bot' x={{x}} %}" method="POST"  enctype="multipart/form-data">
        {% csrf_token %}
    <div class ="second_loginbox">
    <label for="login_screen" class="label_login">Add Info</label><br>
    <input  type="email" class="form-control marg"  " name="email" placeholder="Enter Email Address">
    <input id="css2" type="text" class="form-control marg " name="name" placeholder="Enter your Name">
    <button id = "css3" class="btn btn-outline-success">Login</button>
    </div>
</form>
</div>

Пожалуйста, если кто-нибудь может помочь как мы вкладываем ценность {% url 'chat:login-bot' {{x}} %}

Ошибка

Exception Type: TemplateSyntaxError
Exception Value:    
Could not parse the remainder: '{{x}}' from '{{x}}'
1
Maxmellien 4 Окт 2022 в 21:36

1 ответ

Внутри {% url %} или любого другого встроенного тега шаблона и фильтра в этом отношении вам не нужно объявлять «переменную django» с дополнительным {{ }}. Вам просто нужно использовать x по умолчанию. как вы объявляете это в своем контексте.

"{% url 'chat:login-bot' x %}"
0
haduki 4 Окт 2022 в 21:47
Большое спасибо, это работает для меня @haduki
 – 
Maxmellien
4 Окт 2022 в 21:57