Django:单击超链接时获取超链接的文本值

时间:2018-01-17 19:10:52

标签: python django hyperlink django-templates django-views

我有一个像下面这样的超链接,我希望得到"值得我需要"单击此超链接时

<a href='http://www.example.com'>VALUE I NEEDED</a>

在Django,我能做的是以下

<a name = {{ value }} href='http://www.example.com'>{{  value }}</a>

然后在 views.py 中,我可以执行以下操作

def index(request):
    text = request.GET.get("name")
    *** SOME CODE HERE ***
    return render(request, 'index.html')

但这不起作用。有人请帮助我实现这一目标。

2 个答案:

答案 0 :(得分:2)

您必须将名称作为查询字符串附加到href

<a href="http://www.example.com?name={{ value }}">{{  value }}</a>

然后它会出现在request.GET中。您尝试的name属性适用于input代码和表单提交,但仍有一点不同:

<input name="name" value={{ value }}>

答案 1 :(得分:0)

您可以将要在 url 中提取的字符串或数据用作 slugs,并从 urls.py 中提取您添加的值。很容易做到。

例如:

urls.py

path('my-link/<str:value>/', views.my_link, name='my_link'),

你的链接

<a href="my-link/{{ value }}/">{{ value }}</a>

view.py

    def my_link(request, value):
        context = { 'value_from_link': value }
        return render(request, 'my-new-link.html', context)

在这里,您使用 urls.py(str:value) 从 URL 的 slug 中获取值,并将其作为变量传递给视图,然后您可以随意使用它。