zoukankan      html  css  js  c++  java
  • 我的第一个python web开发框架(9)——目录与配置说明

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

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

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

      

      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/

  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/EmptyFS/p/7607546.html
Copyright © 2011-2022 走看看