django中settings.py中变量的全局引用

在settings.py中添加自定义变量,可以通过setting.(点)变量名的方式访问,如:

from django.conf import settings
site_name = settings.SITE_NAME
site_desc = settings.SITE_DESC

但是,如果遇到了一些频繁访问的变量,如:邮箱,网站标题,网站的描述,这样访问就很不方便,解决方法:

1.首先在settings.py中添加对应的变量:

#网站信息
SITE_NAME="hupeng的个人博客"
SITE_DESC="pyhon爱好者,希望和大家一起学习,共同进步"

2.在view中定义函数,返回包含settings配置文件中的变量

from django.conf import settingsdef global_settings(request):
    return {"SITE_NAME": settings.SITE_NAME,
            "SITE_DESC": settings.SITE_DESC}

注意:

函数中需要添加参数request,否则会出现以下错误:

3.在setting.py中的TEMPLATES中的OPTIONS配置项中添加global_settings函数

4.修改模板,通过键名的方式直接访问对应的变量

5.最终效果:

时间: 2024-10-05 03:26:42

django中settings.py中变量的全局引用的相关文章

scrapy 中 settings.py 中字段的意思

# -*- coding: utf-8 -*- # Scrapy settings for fenbushi project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting the documentation:## https://doc.scrapy.org/en/latest/topi

Django 中 如何使用 settings.py 中的常量

在用django 框架开发 python web 程序的时候 , 在模板页面经常会用到 settings.py 中设置的常量,比如MEDIA_URL, 我尝试过在模板页面用类似如下的方式 程序代码 {{CONSTANT_NAME}} 但 是,是没有效果的,后来只好采用了RequestContext 的方法,起始就是在 render_to_response 的时候,将settings.py 中常量,再次添加到一个 context 中去实现,这样在页面就能用另外一个名字去访问了,感觉很别扭,个人觉得

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

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

drf框架 2 drf框架的请求生命周期(as_view和dispatch方法), 请求、解析、渲染、响应、异常, 序列化组件 ,ORM配置回顾(media文件配置),应用在settings.py中INSTALLED_APPS注册意义 ,数据库配置

应用是否需要在INSTALLED_APPS中注册 ''' 在没有使用到app的一些特殊操作时(比如数据库相关),不需要app的__init__文件注册时,文件夹可以不用注册,但是注册后,应用的所有功能都能使用 结论:所有应用都可以完成注册 ''' 数据库配置(全部在settings文件中完成即可) import pymysql pymysql.install_as_MySQLdb() DATABASES = { 'default': { 'ENGINE': 'django.db.backends

django中将views.py中的python方法传递给html模板文件

常规的模板渲染 from django.db import models # Create your models here. class ArticalType(models.Model): caption = models.CharField(max_length=16) class Category(models.Model): caption = models.CharField(max_length=16) class Artical(models.Model): title = mo

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

Bash中${}的用法和变量的间接引用

在bash中${}用于设置变量默认值和字符串取值切片以及变量的间接引用,详细用法如下图,在Centos6下字符串取子${STR:POSITON:LENGTH},LENGTH为负数会报错. 1.${VAR},取出变量VAR值 [[email protected] ~]# a=hjks [[email protected] ~]# echo ${a} hjks 2.${VAR:-DEFAULT},VAR没有定义或者为空则输出$DEFAULT的值(VAR不变) [[email protected] ~

scrapy 的settings.py中设置自定义属性

直接设置即可,比如: IMAGE_SAVE_PATH = 'd:/data/' 这样引用:

python 开发之settings 变量的全局引用

前提: 当网站里面的一些内容,如邮箱,网站标题,网站的描述,这些东西我们可以存在数据库中也可以存放在我们的setting 文件中 首先我们在settings 里面创建我们要的变量: 原后我们要在view 里面引用setting里面的配置信息 接着我们在view里面定义一个函数读取我们的setting文件的变量 最后我们需要把这个global_setting 函数的方法加入到们到settings 的 TEMPLATES 的配置项里面: 原后我们修改html的网站标题和描述 查看结果