不通过Django视图而直接在模板中设置变量

我叫Rom。

如果使用专业术语的话,我们可以在Django中使用上下文处理器!但是,如果不了解上下文处理器这个词,就无法理解,所以我会避免使用这个词。

如果你使用Django,我想你能理解在视图函数中使用模板时设置上下文,并将变量嵌入模板中的做法。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'myapp.[ファイル名].[関数名]'
            ],
        },
    },
]

在Django的根目录下的应用程序名称/setting.py文件的TEMPLATES部分,添加’myapp.[文件名].[函数名]’。
然后,在setting.py文件同一层级目录下,创建一个文件名为文件名.py的文件,并创建一个名为[函数名]的函数,并将其返回值设置为字典。
这样,该模板变量将应用到所有的模板中。

不需要对视图函数进行预处理等操作,模板变量可以直接添加,所以我做了这个备忘录。

如果你还是不太清楚,你可以搜索Django上下文处理器,这样你就可以找到一篇详细介绍的文章。

让我们享受快乐的 Django 生活吧。

广告
将在 10 秒后关闭
bannerAds