gpt4 book ai didi

django - 在基本模板 Django Python 中从数据库中获取数据

转载 作者:行者123 更新时间:2023-12-01 14:46:27 30 4
gpt4 key购买 nike

我正在用 Python Django 开发一个应用程序(简单的在线商店)我在模板中创建了一个 base.html 文件,然后所有其他 html 文件都从这个文件扩展,但问题是,我需要 base.html 文件来可以访问数据库,这样我就可以在文件的标题中显示所有产品类别的名称

 <!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css" />
<title>{% block title %}My amazing site{% endblock %}</title>
{% load staticfiles %}
<link rel="stylesheet" type="text/css" media="screen" href="{% static "css/main.css" %}"/>
<link rel="stylesheet" type="text/css" media="screen" href="{% static "bootstrap/css/bootstrap.min-rtl.css" %}" >
<link rel="stylesheet" type="text/css" media="screen" href="{% static "bootstrap/css/bootstrap-responsive.min-rtl.css" %}" >
</head>

<body class="container-fluid" >
<div class="row-fluid" >
<div id="sidebar" class="span12">
{% block sidebar %}

{% endblock %}
</div>
</div>
<div class="row-fluid">
<div class="span8 offset2">
{% block slider %}

{% endblock %}
</div>
</div>
</body>
</html>

我应该如何创建一些可以通过整个应用程序访问的变量,而不必为每个页面分别从数据库中获取它们?

在此先感谢您的帮助

最佳答案

您可以编写模板上下文处理器或模板标签。

模板上下文处理器

设置.py

from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
"myapp.processor.foos",
)

我的应用程序/处理器.py

from myproject.myapp.models import Foo

def foos(request):
return {'foos': Foo.objects.all()}

然后你可以在任何模板中使用{{ foos }}

假设您在 render_to_response 中传递 context_instance

return render_to_response('index.html', {}, context_instance=RequestContext(request))

模板标签

关于django - 在基本模板 Django Python 中从数据库中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22872106/

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