我的第一个python web开发框架(9)——目录与配置说明

举报
AllEmpty 发表于 2019/03/27 19:21:32 2019/03/27
【摘要】   和老大聊完后,小白回家接收到相关工具函数包后,就按要求开始干活,首先要做的是熟悉配置参数和了解工具函数有哪些实用的工具。  由于这个项目比较简单,所以不用创建那么多分类,只需要api、common、config、log和test五个目录就可以了  打开PyCharm,在前面的Hello World项目里分别创建好上面的目录(如下图),然后将相关文件拷贝到相应文件夹里    config文...

  和老大聊完后,小白回家接收到相关工具函数包后,就按要求开始干活,首先要做的是熟悉配置参数和了解工具函数有哪些实用的工具。

  由于这个项目比较简单,所以不用创建那么多分类,只需要api、common、config、log和test五个目录就可以了

  打开PyCharm,在前面的Hello World项目里分别创建好上面的目录(如下图),然后将相关文件拷贝到相应文件夹里

  10.png

  config文件夹里是const.py文件,这是一个存储常量的配置文件,在开发的过程中,可以将各种常量配置统一放到这里来,方便管理。

#!/usr/bin/evn python
# coding=utf-8

### 设备常量参数模块,初始化各个常量 ###
##################################################################################
### 数据库参数 ###
# 数据库名称
DB_NAME = 'simple_db'
# 数据库链接地址
DB_HOST = '127.0.0.1'
# 数据库端口
DB_PORT = 5432
# 数据库账号
DB_USER = 'postgres'
# 数据库登录密码
DB_PASS = '123456'

##################################################################################
### 邮件服务参数 ###
# 邮件服务器
SMTP = 'smtp.qq.com'
# 邮件服务器端口
PORT = 465
# email发送账号
EMAIL_USER = 'xxxxxx@qq.com'
# email发送密码
EMAIL_PWD = 'xxxxxxxxxxx'
# 系统异常邮件通知地址,多个地址用逗号分隔
EMAIL_LIST = 'xxxxxx@qq.com'
# 异常邮件通知标题
# ——由于我们有开发环境、测试环境、预生产环境、生产环境等多个不同的环境,
# ——所以在发送异常通知时如果区分的话,可能就弄不清是那个环境出了问题,
# ——我们可以通过设置邮件标题为:开发、测试、预生产、生产等标签来方便区分是那个环境发送的异常通知
EMAIL_ERR_TITLE = '系统异常通知-simple-开发'


  PS:这里配置的是数据库链接参数和邮件服务参数,邮件服务主要用来自动发送代码运行过程中出现的各种异常,让开发人员能及时收到异常反馈。将里面的参数改为你自己的邮件服务就可以了,如果用的是QQ邮箱,发送密码不是你的QQ登录密码,而是QQ邮箱里的授权码,可以登录QQ邮箱后按下面路径获取:设置=》帐户=》POP3/SMTP服务=》然后开启POP3/SMTP服务,点击生成授权码就可以了

 

  在文件夹中可以看到__init__.py文件,这是python包的初始化文件,下面代码可以帮我们自动导入该文件夹下的python程序文件,如果有多层文件夹时,只要每个文件夹里有都有这个文件,它就会将所有子文件夹里的程序文件导入进来给我们调用(api文件夹里的__init__.py文件代码会与这个不一样,里面增加了导入出错自动发送异常通知邮件的功能,让开发人员及时了解python项目初始化时出现异常,方便及时对异常进行修改)

#!/usr/bin/evn python
# coding=utf-8

#遍历当前文件夹下的所有.py文件,然后用__import__导入到程序中
import os,sys
pro_path = os.path.split(os.path.realpath(__file__))[0]
sys.path.append(pro_path)
for root,dirs,files in os.walk(pro_path):
    for file in files:
        name,ext = os.path.splitext(file)
        if ext == '.py' and name != '__init__' and pro_path == root:
            __import__(name)

    for dir in dirs:
        if dir != '.svn':
            try:
                __import__(__name__ + '.' + dir)
            except:
                pass
    break


 

  本文对应的源码下载

 

版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

python开发QQ群:669058475(本群已满)、733466321(可以加2群)    作者博客:http://www.cnblogs.com/EmptyFS/


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。