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>

原文地址:https://www.cnblogs.com/hupingzhi/p/12078634.html

时间: 2024-08-01 14:00:16

django中将settings中全局变量应用于模板templates中的相关文章

WPF中通过代码定义模板

原文:WPF中通过代码定义模板 WPF中可以再XAML中定义模板,也可以通过C#代码定义模板,通过代码可能更清楚的看清其逻辑,而且代码的好处就是可以随时动态的去操作,而在XAML中定义的一般都是静态的. //控件呈现的显示内容1(这里为Image) FrameworkElementFactory fe = new FrameworkElementFactory(typeof(Image), "Image"); BitmapImage bi = new BitmapImage(); bi

Django 模板.html中 href参数传入

在Django模板中可能会出现访问多个URL指向同一函数,为减少代码可以利用正则表达式实现 url(r'^remove_userinfo(?P<nid>\d+)/',views.removeuserinfo,name='reinfo'), (?P<nid>\d+)表示此部分的名称为nid,对应removeuserinfo(request,nid)中的nid参数 def removeuserinfo(request,nid): return HttpResponse(nid) 此时

明明白白:python网站设计框架django的模板templates路径的最终解决方法

一个提示 SyntaxError: EOL while scanning string literal :反斜杆错误 \\ 不是 \ 我的mysite工程的整个目录: C:\web\mysite>tree /F 卷 C 的文件夹 PATH 列表 卷序列号为 00000200 0007:9B9B C:. │  db.sqlite3 │  manage.py │ ├─blog │  │  admin.py │  │  admin.pyc │  │  forms.py │  │  forms.pyc

django模板templates详解(二)

1 总体结构 ? Django是MTV结构,即:Model, Template, View Model:定义数据的存储格式,并且提供了数据库访问的API. View:定义那些数据被显示,是业务逻辑处理模块. Template:定义数据如何被显示. Django工程包含工程的配置.及多个APP,每个APP完成相对独立的功能.在设计中,要尽量保持每个APP的独立性,以做到APP是即插即用. 2 各个模块的交互关系 ? Django收到HTTP请求后,依次完成下列处理: 根据URL通过URLConf模

Django 路由层,视图层,模板层

MVC与MTV模型 一.MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示: 二.MTV Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是: M 代表模型(Mode

Django配置-settings.py

import os #向上找两级,获取基地址 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SECRET_KEY = 'tt^-bhdmqd-^pet%puk*q58gcqg-g)9h+97!4m9aveddp_$%5e' DEBUG = True ALLOWED_HOSTS = [] #APP信息,自己新建的项目如果没有自动加入,可以再次手动加进去 INSTALLED_APPS = [ 'djang

Django基础之视图(views)层、模板层

目录 Django基础之视图(views)层.模板层 JsonResponse 向前端返回一个json格式字符串的两种方式 重写Django中的json的某个方法 form表单上传文件 FBV与CBV FBV CBV最精髓的部分 Django settings源码分析及实际应用 模板传值 过滤器(|) 标签 前端if 标签 前端for标签 前端with标签 自定义过滤器.标签 自定义的过滤器 自定义标签 自定义的过滤器和自定义标签 模板的继承 模板的导入 Django请求生命周期 Django基

django配置settings详解

项目根目录: 1 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 项目安全码: 1 SECRET_KEY = ')b)3406p#v$u4ft([email protected]*=0*w1l*=0v0ixdrey)mmcd2uf#(x' DEBUG调试: 1 DEBUG = True 不要在实际生产中打开debug 允许访问的主机: 1 ALLOWED_HOSTS = ['*'] *是代表允许所有主机

Django项目settings.py文件基础配置

Django设置文件包含了我们项目的所有Django安装配置,这个文件一般在项目的文件夹下,例如我们创建项目名为:myblog,那么这个配置文件settings.py就是myblog文件夹下 一.在项目的根文件夹下创建static和media两个目录.static用来存放模板CSS.JS.图片等静态资源,media用来存放上传的文件. settings.py文件里找到SATTIC_URL,然后在后面加上如下代码: myblog/settings.py #设置静态文件目录和名称 STATIC_UR