我一直在尝试为我的应用程序生成详细页面上的URL。我希望二维码的网址是一个链接到项目的详细信息页面。我现在拥有的是:
<img src="{% qr_url_from_text "localhost:8000/items/{{item.id}}" %}" alt="QR-Code for the item">
问题是,我想将item.id
作为url的一部分。但它不被视为变量,所以当我扫描qr码时,它会打开页面http://localhost:8000/items/{{item.id}}
,但我希望它在url中有实际的id(例如4(,而不是{{item.id}}}作为字符串。
有什么方法可以在这些URL名称中放入变量吗?
已经谢谢
不要使用模板中的变量创建url。
将其作为上下文变量在视图中执行,然后使用该变量代替"视图";localhost:8000/items/{{item.id}}";在模板中。
所以,在你看来,你会有这样的东西:
def yourview(request, pk):
qrcode_url = "localhost:8000/items/" + str(pk)
context = {
qrcode_url: 'qrcode_url',
}
return render(request, 'yourtemplate.html', context)
和模板中的相比:
<img src='{% qr_url_from_text qrcode_url size="t" version=10 image_format="png" error_correction="L" %}' alt="QR code">