【问题标题】:Can all Django applications add items to a base template所有 Django 应用程序都可以将项目添加到基本模板吗
【发布时间】:2014-06-16 22:17:47
【问题描述】:
我正在用 Django 编写一个网页,并且我有一个名为“Website”的应用程序。该应用程序定义了整个站点的一些基本视图和总体布局,其中导航栏是其中的一部分。
当我添加负责不同功能的应用程序时,我想让它们添加指向该导航栏的链接。这些链接不仅应该在使用某个应用程序的视图时出现,而且在所有其他应用程序中也应该出现。这里的问题是如何在“网站”应用不知道所有其他应用的情况下进行安排?
【问题讨论】:
标签:
django
django-templates
django-views
【解决方案1】:
一个项目中的所有 Django 应用程序都可以相互感知。例如,如果您有一个名为links 的应用程序,您可以使用links 中的模型和函数来创建新内容,然后在Website 中使用该内容。您将需要导入信息。例如,要在您的 Website 视图中使用来自 links 的链接:
# Website.views
from links.models import Link
def myView(request):
links = Link.objects.all()
# do something with the links
context = {'links': links}
return render(request, 'webpage.html', context)
请原谅我的语法和东西,我没有测试过这个或任何东西。我希望这能解释你的意思。多问多多,我会尽力解答的。