如何使用超链接更改另一页的标签?

时间:2020-09-01 06:58:19

标签: python django

我是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')

1 个答案:

答案 0 :(得分:1)

我将介绍GET请求执行此操作的两种方法。

一种方法是将其添加为url中的值:

超链接代码相同:

<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')

另一种方法是将其设置为GET参数

超链接代码为:

<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')

您可以自由选择一种适合您的:)