Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据库中的变量放入base.html模板中?_Python_Django_Django Models - Fatal编程技术网

Python 如何将数据库中的变量放入base.html模板中?

Python 如何将数据库中的变量放入base.html模板中?,python,django,django-models,Python,Django,Django Models,我正在做一个网页。页脚中会有联系人,如电子邮件或电话。这个页脚应该无处不在,因此它位于base.html中,每个模板/html都在扩展它 我创建了一个名为ContactAdmin的表,为管理员更改其联系信息提供了简单明了的界面。这就是问题所在 base.html没有视图(它只是为了扩展),所以我不知道如何将变量-email,telephone从表ContactAdmin放入其中。我想把它放在每一个视图中,这在我看来是一个巨大的过度使用 那么如何使Django从数据库中读取这些变量并将它们放入ba

我正在做一个网页。
页脚中会有联系人,如电子邮件或电话。这个
页脚应该无处不在,因此它位于
base.html
中,每个
模板/html
都在扩展它

我创建了一个名为
ContactAdmin
的表,为管理员更改其联系信息提供了简单明了的界面。这就是问题所在

base.html
没有视图(它只是为了扩展),所以我不知道如何将变量-
email
telephone
从表
ContactAdmin
放入其中。我想把它放在每一个视图中,这在我看来是一个巨大的过度使用

那么如何使Django从数据库中读取这些变量并将它们放入
base.html


ContactAdmin表应该只有一行

您不需要编辑所有视图。正是在这种情况下,django有。这里的优点是,由于基本模板仍然是模板语言的一部分,并且它可以访问
上下文
,因此您只需要在自定义上下文处理器中设置这些变量,一切都应该按原样工作

有关如何编写自定义上下文处理器的一些示例:


您可以为此使用上下文处理器。例如:

yourapp/context_processors.py

def contact(request):
    from yourapp.models import ContactAdmin
    contacts = ContactAdmin.objects.all()

    return {
        'contacts': contact,  # Add 'contacts' to the context
    }
yourproject/settings.py

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'yourapp.context_processors.contact',
            ]
        }
    }
]
我想这些联系人设置不会经常更改。因此,您可能也对查询的结果感兴趣