不在Django网站中的抽象网址

时间:2019-06-16 23:34:54

标签: python html css django django-templates

例如,在您的django网站上,您有许多按钮/链接可将某人重定向到http://stackoverflow.com

不必每次都像这样硬编码

<a href="http://stackoverflow.com" target="_blank" rel="noopener">

有没有一种抽象的方法,以便您有一个很大的网址列表,并且可以在模板中使用django标签进行引用?

stackoverflow = "http://stackoverflow.com"
<a href="{{ stackoverflow }}" target="_blank" rel="noopener">

1 个答案:

答案 0 :(得分:0)

在视图中书写类似内容

return render(request, 'polls/index.html', context)

context是一本字典,您可以在其中存储所需的值,然后通过{{ your_key }}在模板中引用它们。

您还可以使用一个模块在其中定义/添加sites字典,然后将其导入视图并

from external_urls import sites
...
context.update(sites)
return render(request, 'polls/index.html', context)

注意站点名称与其他上下文关键字的冲突。 也许可以代替

...
context['sites'] = sites

并在模板中使用

   {{ sites['sitename'] }}

您还可以考虑通过设置加载此sites