如何将变量从模板传递到 Django 中的视图?
How to pass a variable from template to views in django?
index.html
{% if request.session.visitor_language == 'en' %}
{% with current_page=request.resolver_match.url_name %}
{{current_page}}
{% endwith %}
My name is Khan <a style="color: blue;" href="{% url 'change_language' %}?current_page={{current_page}}">BN</a>
{% endif %}
Here I am trying to send the value of current_page to views through urls
urls.py
path('home/change_lang/$', views.change_visitor_language, name='change_language'),
views.py
def change_visitor_language(request,current_page):
print(current_page)
我从屏幕上得到的错误
TypeError at /home/change_lang/$
我在命令行中遇到的错误
TypeError: change_visitor_language() missing 1 required positional argument: 'current_page'
由于您将 current_page
作为 query param
发送,因此它不会作为方法参数添加到视图中。
您可以像这样在您的视图中访问它:
def change_visitor_language(request):
current_page = request.GET.get('current_page')
此外,将您的HTML
改成这样
{% if request.session.visitor_language == 'en' %}
{% with current_page=request.resolver_match.url_name %}
{{current_page}}
My name is Khan <a style="color: blue;" href="{% url 'change_language' %}?current_page={{current_page}}">BN</a>
{% endwith %}
{% endif %}
index.html
{% if request.session.visitor_language == 'en' %}
{% with current_page=request.resolver_match.url_name %}
{{current_page}}
{% endwith %}
My name is Khan <a style="color: blue;" href="{% url 'change_language' %}?current_page={{current_page}}">BN</a>
{% endif %}
Here I am trying to send the value of current_page to views through
urls
urls.py
path('home/change_lang/$', views.change_visitor_language, name='change_language'),
views.py
def change_visitor_language(request,current_page):
print(current_page)
我从屏幕上得到的错误
TypeError at /home/change_lang/$
我在命令行中遇到的错误
TypeError: change_visitor_language() missing 1 required positional argument: 'current_page'
由于您将 current_page
作为 query param
发送,因此它不会作为方法参数添加到视图中。
您可以像这样在您的视图中访问它:
def change_visitor_language(request):
current_page = request.GET.get('current_page')
此外,将您的HTML
改成这样
{% if request.session.visitor_language == 'en' %}
{% with current_page=request.resolver_match.url_name %}
{{current_page}}
My name is Khan <a style="color: blue;" href="{% url 'change_language' %}?current_page={{current_page}}">BN</a>
{% endwith %}
{% endif %}