我是Django的新手,我想问一下是否可以使用另一个页面的超链接来更改页面的标签。
我想传递一个值,例如。 '1',并将其用作另一个模板的标签。我可以使用超链接从页面重定向到页面,但是我不知道如何传递某些参数以供另一个使用。
超链接的目的是告诉另一页它是某个值。
这是我的超链接的代码:
//It is a hyperlink with image.
<a class="btn bgImg" href="{% url 'trend_view'%}"></a>
这是我认为的代码:
def stage_trend_view(request, value):
args={ val = value}
template = loader.get_template("Hole_Analyzer/trend_per_stage.html")
return HttpResponse(template.render(args, request))
这是我要使用传递的值的模板:
{% extends "base.html" %}
{% load static %}
{% block title %}Stages{% endblock %}
{% block content-nav %} {% endblock content-nav %}
{% block card_title %}Trend for Stage {{val}} {% endblock card_title %}
{% block content-Card %}
<div class="card-body">
<div class="row">
<p>This is Graphs and shits</p>
</div>
</div>
{% endblock content-Card %}
{% block scripts %} {% endblock scripts %}
这是url.py:
path(r'^trend/(?P<value>\d+)/$', stage_trend_view, name='trend_view')
答案 0 :(得分:1)
我将介绍GET请求执行此操作的两种方法。
超链接代码相同:
<a class="btn bgImg" href="{% url 'trend_view' value/variable_here %}"></a>
在代码view.py中:
from django.template import Context
def stage_trend_view(request, value):
args=Context({"val" : value})
template = loader.get_template("Hole_Analyzer/trend_per_stage.html")
return HttpResponse(template.render(args))
在urls.py中:
path('trend/<int:value>/', stage_trend_view, name='trend_view')
超链接代码为:
<a class="btn bgImg" href="{% url 'trend_view' %}?value={{value/vairable_here}}"></a>
在代码views.py中:
from django.shortcuts import render
def stage_trend_view(request):
value = request.GET.get('value')
return render(request, 'Hole_Analyzer/trend_per_stage.html', {'val':value})
在urls.py中:
path('trend/', stage_trend_view, name='trend_view')
您可以自由选择一种适合您的:)