我正在做一个网页在footer中会有联系人,如电子邮件或电话这个footer应该无处不在,所以它在每个base.html扩展的template/html中。
我已经创建了一个名为ContactAdmin的表,为管理员更改其联系信息提供简单而直接的界面。这就是问题所在。
base.html没有视图(只是用于扩展),所以我不知道如何在表中设置变量-emailtelephone。我想把它放在每一个角度,这在我看来是一个巨大的杀伤力。
那么,如何使Django从数据库中读取这些变量并将它们放入ContactAdmin
contactAdmin表应该只有一行

最佳答案

您可以为此目的使用上下文处理器。例如:
yourapp/上下文处理器.py

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

    return {
        'contacts': contact,  # Add 'contacts' to the context
    }

你的项目/设置.py
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'yourapp.context_processors.contact',
            ]
        }
    }
]

我想这些联系人设置不会经常更改所以您可能对查询的结果也感兴趣。

08-24 23:51