gpt4 book ai didi

python - 如何在 django 模板的 url templatetag 中嵌入标签?

转载 作者:行者123 更新时间:2023-11-28 17:55:21 25 4
gpt4 key购买 nike

如何在 url templatetag 中嵌入标签在 django 模板中?

Django 1.0 , Python 2.5.2

在 views.py 中

def home_page_view(request):
NUP={"HOMEPAGE": "named-url-pattern-string-for-my-home-page-view"}
variables = RequestContext(request, {'NUP':NUP})
return render_to_response('home_page.html', variables)

在home_page.html中,如下

NUP.HOMEPAGE = {{ NUP.HOMEPAGE }}

显示为

NUP.HOMEPAGE = named-url-pattern-string-for-my-home-page-view

下面的 url 命名模式有效(如预期的那样),

url template tag for NUP.HOMEPAGE = {% url named-url-pattern-string-for-my-home-page-view %}

并显示为

url template tag for NUP.HOMEPAGE = /myhomepage/

但是当 {{ NUP.HOMEPAGE }} 嵌入到 {% url ... %} 中时,如下所示

url template tag for NUP.HOMEPAGE = {% url {{ NUP.HOMEPAGE }} %}

这会导致模板语法错误

TemplateSyntaxError at /myhomepage/
Could not parse the remainder: '}}' from '}}'
Request Method: GET
Request URL: http://localhost:8000/myhomepage/
Exception Type: TemplateSyntaxError
Exception Value:
Could not parse the remainder: '}}' from '}}'
Exception Location: C:\Python25\Lib\site-packages\django\template\__init__.py in __init__, line 529
Python Executable: C:\Python25\python.exe
Python Version: 2.5.2

我期待 {% url {{ NUP.HOMEPAGE }} %} 解析为 {% url named-url-pattern-string-for-my-home-page-在运行时查看 %} 并显示为 /myhomepage/

Django 不支持嵌入标签吗?

是否可以编写带有嵌入式标签支持的自定义 url 模板标签来使这项工作正常进行?

{% url {{ NUP.HOMEPAGE }} %}

最佳答案

也许您可以尝试将最终 URL 传递给模板?

像这样:

from django.core.urlresolvers import reverse

def home_page_view(request):
NUP={"HOMEPAGE": reverse('named-url-pattern-string-for-my-home-page-view')}
variables = RequestContext(request, {'NUP':NUP})
return render_to_response('home_page.html', variables)

然后在模板中,NUP.HOMEPAGE 应该是 url 本身。

关于python - 如何在 django 模板的 url templatetag 中嵌入标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com