- A+
所属分类:Django学习
区别于传统的一些开源CMS系统(如DEDE仿站教程 里面用到的dede就是系统提供的),后台固定的一些参数,而Django并没有提供,且去整理这个内容会是很麻烦的事情,在搞一套授权系统的时候,就想着后台给其固定值,方便客户修改,但是后面一直没找到相关教程,所以弃置。
配置教程
1、在项目的setting.py文件中加入你需要配置的内容
- # 全局配置信息配置
- SITE_TITLE = '李金龙,菜鸟的互联网技术分享博客'
- SITE_TITLE_MORE = '李金龙'
- SITE_KEY = '李金龙'
- SITE_DES = '李金龙,温故而知新,将所学所得梳理出来,帮助自己在以后的道路上可以对比曾经的自己。'
- SITE_URL = 'https://www.lijinlong.cc/'
- SITE_QQ = '342422610'
- SITE_WEIBO = 'http://weibo.com/678801176'
- SECRET_WEIXIN = '15295070800'
上述的内容已经配置了一些基础的信息,方便不同的页面来直接调用使用,命名规则可以百度搜索下驼峰命名法。
一个SEO小知识要传播下,在上面定义了两个标题,SITE_TITLE和SITE_TITLE_MORE,一个为首页使用,一个为其他页使用。
如:首页:李金龙,菜鸟的互联网技术分享博客
分类页:Django - 李金龙
内容页:Django项目全局信息配置教程 - 李金龙
而不是:
分类页:Django - 李金龙,菜鸟的互联网技术分享博客
内容页:Django项目全局信息配置教程 - 李金龙,菜鸟的互联网技术分享博客
至于为什么,可以百度看看相关教程。
2、全局配置引用
- 在任意一个APP views.py中引入以下内容
- from django.conf import settings
- 在上面的文件中定义一个方法,读取全局配置内容,并读取内容
- # 全局配置调用
- def global_setting():
- return {
- 'SITE_TITLE': settings.SITE_TITLE,
- 'SITE_TITLE_MORE': settings.SITE_TITLE_MORE,
- 'SITE_KEY': settings.SITE_KEY,
- 'SITE_DES': settings.SITE_DES,
- 'SITE_URL': settings.SITE_URL,
- 'SITE_QQ': settings.SITE_QQ,
- 'SITE_WEIBO': settings.SITE_WEIBO,
- 'SECRET_WEIXIN': settings.SECRET_WEIXIN,
- }
3、在项目配置文件setting.py文件中,在TEMPLATES下的OPTIONS下的context_processors中加入APP的方法。
- 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',
- 'blog.views.global_setting' # 这里是增加的内容
- ],
- },
- },
- ]
4、模板调用
- <title>{{ SITE_TITLE }}</title>
- <meta name="keywords" content="{{ SITE_KEY }}"/>
- <meta name="description" content="{{ SITE_DES }}"/>
直接在模板中使用其名称即可,注意规则{{定义的字典名称}},一定要注意大小写