我有一个像下面这样的超链接,我希望得到"值得我需要"单击此超链接时
<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')
但这不起作用。有人请帮助我实现这一目标。
答案 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 中获取值,并将其作为变量传递给视图,然后您可以随意使用它。