将链接列表传递给 Django 模板

Posted

技术标签:

【中文标题】将链接列表传递给 Django 模板【英文标题】:Pass list of links to Django Template 【发布时间】:2014-08-14 12:30:47 【问题描述】:

我有一个我在我的 settings.py 文件中通过以下方式导入的 url 列表:

from myproject.image_folders_link import Links

现在我的image_folders_link 包含以下常量:

MY_image_doctors_link = "http://www.mywebsite.com/images/doctors"

MY_image_patients_link = "http://www.mywebsite.com/images/patients"

现在我想在我的 Django 模板中使用它。我怎样才能通过这个?

【问题讨论】:

***.com/questions/3430451/… ? 【参考方案1】:

如果您想在所有模板中使用一组常量,您应该write a "context processor"。

我不太明白您要添加哪些变量,但通常您会在名为context_processors.py 的应用程序中创建一个新文件:

from myproject.image_folders_link import Links

def template_links(request):
    return 
        "MY_image_doctors_link": "http://www.mywebsite.com/images/doctors",
        ...
    

现在将其添加到您的settings.py 中的TEMPLATE_CONTEXT_PROCESSORS 设置中:

TEMPLATE_CONTEXT_PROCESSORS = (
...
'myapp.context_processors.template_links',
)

您可以在所有模板中调用这些变量:

 MY_image_doctors_link 

【讨论】:

好的,明白了。但是 MY_image_doctors_link 不会打印链接。我也在我的模板中使用 AngularJS。我需要定义一些东西吗?由于 AngularJS 正在显示这些数据。 我也使用从我的视图返回HttpResponse json 转储

以上是关于将链接列表传递给 Django 模板的主要内容,如果未能解决你的问题,请参考以下文章

Django将对象列表传递给模板

Django:将日期列表传递给 Chart.js 模板中的 JavaScript

Django 将变量传递给 URL 标签

django入门与实践(续)

如何在 Django 模板上实现“返回”链接?

如何在 django-registration 中将帐户信息传递给 django 模板?