django中将settings中全局变量应用于模板templates中

Posted hupingzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中将settings中全局变量应用于模板templates中相关的知识,希望对你有一定的参考价值。

以项目名dispy为例,把站点名变量应用于模板中

⑴ 在项目目录下创建dispy/global_settings.py文件

from django.conf import settings


def get_global_settings(request):
    context = {
        site_name: settings.SITE_NAME,
        site_short_name: settings.SITE_SHORT_NAME,
    }
    return context

⑵ 在setting.py中templates加入get_global_settings方法

TEMPLATES = [
    {
        BACKEND: django.template.backends.django.DjangoTemplates,
        DIRS: [os.path.join(BASE_DIR, themes, THEME, templates)],
        APP_DIRS: True,
        OPTIONS: {
            context_processors: [
                ‘dispy.global_settings.get_global_settings‘,
                django.template.context_processors.debug,
                django.template.context_processors.request,
                django.contrib.auth.context_processors.auth,
                django.contrib.messages.context_processors.messages,
            ],
        },
    },
]

⑶ templates中引用

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>{{ page_name }} - {{ site_short_name }}</title>

以上是关于django中将settings中全局变量应用于模板templates中的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 中全局存储动态变量

Django学习之全局变量

如何在 Visual C++ 中将托管变量用作全局变量?

Django 设置全局变量(所有视图函数模板都可以使用)

如何在flutter中将token设置为全局变量?所以我可以随时随地访问令牌

Django---media静态文件的配置&全局变量