当前位置: 首页 > news >正文

Django 配置文件 settings.py

1. dubug配置

DEBUG=False

2. 数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        "NAME": "dbname",
        "USER": "root",
        "PASSWORD": "xxxx",
        "HOST": "localhost",
        "PORT":3316
    }
}

3. 模板

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',
            ],
        },
    },
]

4. 静态文件

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

5. 时区设置

# LANGUAGE_CODE = 'en-us'
# TIME_ZONE = 'UTC'
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False # 默认为True,时间是utc时间,我们要使用本地直接,需要改为false     

6. session 配置

# 默认值: 1209600 (2周, 以秒计)
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 30 * 60

7. 时间格式设置

DATETIME_FORMAT = 'Y-m-d H:i:s'
DATE_FORMAT = 'Y-m-d'

8. 时间格式设置

# 上传文件
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

9. 日志输出

# 日志格式配置
LOG_DIR = os.path.join(BASE_DIR, 'logs')
LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    # 过滤器
    "filters": {
        "require_debug_true": {
            "()": "django.utils.log.RequireDebugTrue"
        },
    },
    # 日志格式
    "formatters": {
        "standard": {
            "format": "'%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s",
            'datefmt': '%Y%m%d %H:%M:%S',

        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    "handlers": {
        # 发送邮件通知管理员
        "mail_admins": {
            "level": "ERROR",
            "class": "django.utils.log.AdminEmailHandler",
            "formatter": "standard"
        },
        # 写文件
        "file_handler": {
            "level": "INFO",
            "class": "logging.handlers.TimedRotatingFileHandler",
            "filename": os.path.join(LOG_DIR, "admin.log"),
            # "maxBytes": 1024 * 1024 * 5,
            # "backupCount": 5,
            "formatter": "standard"
        },
        # 输出到控制台
        "console": {
            "level": "INFO",
            "filters": ["require_debug_true"],  # default=True时候
            "class": "logging.StreamHandler",
            "formatter": "standard"
        },
    },
    # logging管理器
    "loggers": {
        # 调用时候使用的关键词
        "django": {
            "handlers": ["file_handler", "console"],   #对应handlers
            "level": "DEBUG",
            "propagate": True
        },
        "django.request": {
            "handlers": ["mail_admins"],
            "level": "ERROR",
            "propagate": False
        }
    }
}

10. 邮件发送

# 邮件发送
EMAIL_HOST = "smtp.sina.com"           #smtp服务器地址
EMAIL_PORT = 25                        #端口
EMAIL_HOST_USER = '***@sina.com'       #发送邮件的邮箱
EMAIL_HOST_PASSWORD = "*****"          #邮箱的密码
EMAIL_USE_TLS = False                  #邮件加密协议      
EMAIL_FROM = "***@sina.com"    

转载于:https://www.cnblogs.com/lmx1002/p/8124633.html

相关文章:

  • CORS FOR AspNetCore
  • spark shell的学习
  • 安卓模拟器BlueStacks+TCPdump对APP抓包分析
  • maven scope含义的说明
  • Javac编译器源代码分析
  • 物极必反,滥用闭包的结果就是回归结构化编程
  • 2017 年终总结 —— 在路上
  • 加密算法(对称加密)AES、DES (非对称加密)RSA、DSA
  • Hadoop集群(第10期)_MySQL关系数据库
  • python学习笔记(四)字符串及字符串操作
  • 【Dalston】【第六章】API服务网关(Zuul) 下
  • 解决 Nginx + PHP-FPM (Permission denied)报错的办法
  • sqlvarchar后自动填充空格解决办法(SET ANSI_PADDING)
  • 当文本输入框和是否勾选在同一列表时,你懵圈了吗
  • 01月03日三周二次【Python基础进阶】
  • 【391天】每日项目总结系列128(2018.03.03)
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Java编程基础24——递归练习
  • java小心机(3)| 浅析finalize()
  • PHP的Ev教程三(Periodic watcher)
  • Promise面试题,控制异步流程
  • react-native 安卓真机环境搭建
  • STAR法则
  • 翻译--Thinking in React
  • 京东美团研发面经
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 用element的upload组件实现多图片上传和压缩
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • NLPIR智能语义技术让大数据挖掘更简单
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (function(){})()的分步解析
  • (LeetCode) T14. Longest Common Prefix
  • (SpringBoot)第二章:Spring创建和使用
  • (十) 初识 Docker file
  • .NET 8.0 中有哪些新的变化?
  • .net core 连接数据库,通过数据库生成Modell
  • .Net Core和.Net Standard直观理解
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET中winform传递参数至Url并获得返回值或文件
  • ?.的用法
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [Android学习笔记]ScrollView的使用
  • [C]整形提升(转载)
  • [dart学习]第四篇:函数
  • [Deepin 15] 编译安装 MySQL-5.6.35
  • [HOW TO]如何在iPhone应用程序中发送邮件
  • [java] 23种设计模式之责任链模式
  • [JavaScript]_[初级]_[关于forin或for...in循环语句的用法]
  • [javascript]Tab menu实现
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [leetcode]Search a 2D Matrix @ Python
  • [poj] 3974 Palindrome