django开发之settings.py中变量的全局引用详解
本文主要介绍的是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 settings def global_settings(request): return {"SITE_NAME": settings.SITE_NAME, "SITE_DESC": settings.SITE_DESC}
注意:函数中需要添加参数request,否则会出现以下错误:
3、在setting.py中的TEMPLATES中的OPTIONS配置项中添加global_settings函数
4、修改模板,通过键名的方式直接访问对应的变量
5、最终效果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
如何解决django配置settings时遇到Could not import settings 'conf.local'
举个例子吧 Django最佳实践与部署:Nginx + Gunicorn + Supervisor(Ubuntu和CentOS) http://sfdye.com/articles/django-best-practice-and-deployment-with-nginx-gunicorn-and-supervisor/ 结果出现runserver --settings=...的时候出现报错Could not import settings 'conf.local' (Is it on sys
-
Python的Django框架中settings文件的部署建议
django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好.我根据自己的项目组织习惯,发布了一个项目dj-scaffold. 前些天在reddit上为我的项目dj-scaffold打了个"广告"(见:http://redd.it/kw5d4).不想评价甚糟,甚至差点被打成负分.其中更也人将这个项目说的一文不值.面对负面声音虽然会有些不爽,但其中的建设性意见还是需要听取的,至于那些纯属个人偏好部分就自动过滤了. 在谈及sett
-
django开发之settings.py中变量的全局引用详解
本文主要介绍的是django中settings.py中变量的全局引用的相关资料,下面话不多说,来看看详细的介绍吧. 前言 在settings.py中添加自定义变量,可以通过setting.(点)变量名的方式访问,如: from django.conf import settings site_name = settings.SITE_NAME site_desc = settings.SITE_DESC 但是,如果遇到了一些频繁访问的变量,如:邮箱,网站标题,网站的描述,这样访问就很不方便. 解
-
Java中的对象和引用详解
Java中的对象和引用详解 在Java中,有一组名词经常一起出现,它们就是"对象和对象引用",很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起了解一下对象和对象引用之间的区别和联系. 1.何谓对象? 在Java中有一句比较流行的话,叫做"万物皆对象",这是Java语言设计之初的理念之一.要理解什么是对象,需要跟类一起结合起来理解.下面这段话引自<Java编程思想>中的一段原话: "按照通俗的
-
python开发之IDEL(Python GUI)的使用方法图文详解
本文讲述了python开发之IDEL(Python GUI)的使用方法.分享给大家供大家参考,具体如下: 在安装完Python后,我们希望能够运用python GUI来运行一些我们编写的程序,那么Python GUI怎样用呢? 看完这篇blog,也许你就会使用Python GUI来编写你自己的程序了. 下面我们就来看看Python GUI是怎样使用的吧! 1. 新建一个文件 我们新建一个文件,名字随便,我这里命名为: test_hello.py 2. 用Python GUI打开文件 我们可以选择
-
Android开发之PopupWindow创建弹窗、对话框的方法详解
本文实例讲述了Android开发之PopupWindow创建弹窗.对话框的方法.分享给大家供大家参考,具体如下: 简介: PopupWindow 可创建类似对话框风格的窗口 效果: 使用方法: 使用PopupWindow 创建对话框风格的串口秩序如下两步即可: 1. PopupWindow 的构造器创建PopupWindow对象 2. PopupWindow 的showAsDropDown() 将其显示效果设置为下拉显示 3. PopupWindow 的showAtLoacation() 方法将
-
JavaScript中变量提升机制示例详解
变量提升 JavaScript的变量提升有两种,用var声明的变量以及用function声明的变量. 用var声明的变量 我们先来看下面这段代码,a的值是多少 代码1 console.log(a); var a; 按照以往编程语言的思路来看,代码自上而下运行,按这种思路,会报错,因为执行到第2行时,变量a还没有定义,所以会报错a is not defined 然而事实上答案是undefined 好,抱着疑惑,我们看下面的代码 var a; console.log(a); 我们发现,这两段代码是一
-
Django实现将views.py中的数据传递到前端html页面,并展示
自学Django已经有一周啦,想把自己自学过程中的每一步都记录下来,给一些零基自学Django的战友们一些参考:本次主要内容为,用一个实例展现views.py中的数据是如何传递到html页面,并在页面中展示. 我的项目已经创建好,我的app为song03apptest.因为我的项目和环境的相关配置已经配置好,如果是第一天开始学习Django的童鞋,请先看我的入门教程,第一个Django实例. 本文重点在于用实例来说明views和html前台页面的传递. 1.打开我的app,song03appte
-
Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)
本文实例讲述了Android编程开发之在Canvas中利用Path绘制基本图形的方法.分享给大家供大家参考,具体如下: 在Android中绘制基本的集合图形,本程序就是自定义一个View组件,程序重写该View组件的onDraw(Canvase)方法,然后在该Canvas上绘制大量的基本的集合图形. 直接上代码: 1.自定义的View组件代码: package com.infy.configuration; import android.content.Context; import andro
-
Android开发之在xml中设置自定义属性的方法
xml中设置自定义属性 分三步: 1. 在项目中的values文件中创建attrs文件 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="QLoadingIndicatorView"> <attr name="indicatorId" format="integer"
-
django中的ajax组件教程详解
Ajax(Asynchronous Javascript And XML)翻译成英文就是"异步Javascript和XML".即用Javascript语言与服务器进行异步交互,传输的数据为XML,(现在使用更多的是json数据). 向服务器发送请求的途径 1.浏览器地址栏 http://www.baidu.com 默认是get请求 2.form表单发送请求: GET请求 POST请求 3.a标签 href属性 默认是get请求 4.ajax() Ajax的特点 异步交互:客户端发送一个
-
Django中使用Celery的教程详解
Django教程 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 一.前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celer
随机推荐
- 详解ASP.NET Core 2.0 视图引擎(译)
- 详解Linux系统中的tempfs与/dev/shm
- java代码实现截图功能(屏幕截图)
- javascript Array.remove() 数组删除
- C#文件上传与下载的实现方法
- DataGridView带图标的单元格实现代码
- 浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解
- 鲜为人知的CSS技巧10则
- SQL 按特定字段值排序
- 输入框点击时边框变色效果的实现方法
- js模拟类继承小例子
- PHP4实际应用经验篇(7)
- Ubuntu部署python3.5的开发和运行环境
- AndroidStudio 如何使用aar详解
- 基于 flexible 的 Vue 组件:Toast -- 显示框效果
- Python3.5迭代器与生成器用法实例分析
- 微信小程序云开发如何使用云函数生成二维码
- 对Python强大的可变参数传递机制详解
- python+openCV利用摄像头实现人员活动检测
- vue-cli配置flexible过程详解