Loading

重构项目后端目录

  • 重构项目目录

    • 规划

      luffy                  项目名  
        |--logs/             项目运行事/开发时 的日志目录 -包
        |--script/           项目临时使用脚本文件目录
        |--doc/              存放项目介绍信息
            |--readme.md     项目说明
        |--luffy/            项目主应用, 开发时代码存放的目录 -包
            |--urls.py       总路由文件
            |--wsgi.py       Web服务器网关接口
            |--utils/        多个模块, 子应用的公共函数类库, 自己开发的组件
            |--apps/         开发者的代码存放的目录, 以子应用为目录 -包
            |--libs/         第三类/库存放目录, 第三方组件, 模块, 包
            |--settings/     配置目录
               |--dve.py     项目来发是本地配置文件
               |--prod.py    项目上线是运行的配置文件
       |--requirement.txt    项目依赖的模块
      
      image
    • 修改控制台文件manage.py

      直接使用settings/dve.py的配置文件, 在配置中.文件名即可, 不需要后缀
           os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy.settings.dev')
      
      image
    • 启动按钮重新配置(不修会出问题)

      PYTHONUNBUFFERED=1; DJANGO_SETTINGS_MODULE=luffy.settings.dev
      
      image
    • 启动项目, 启动项目之后会生成sqlite3的数据库文件, 不需要可以删除!

      image
    • wsgi.py文件中配置

      image
    • 国际化设置(在两个配置文件中设置)

      LANGUAGE_CODE = 'zh-hans'
      
      TIME_ZONE = 'Asia/shanghai'
      
      USE_I18N = True
      
      USE_L10N = True
      
      USE_TZ = False
      
    • 创建app,默认习惯改改

      1. 先切换路径到apps目录中
          PS F:\synchro\Project\luffy> cd luffy/apps
      2. 执行创建app命令
          PS F:\synchro\Project\luffy\luffy\apps> python ../../manage.py startapp user
      
      image
    • 配置文件中将 BASE_DIR 与 apps的路径添加到环境变量中

      import os
      import sys
      
      BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
      sys.path.insert(0, BASE_DIR)
      sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
      
      """
      BASE_DIR是配置文件的上一级上一个文件夹 项目名文件夹.
      将项目名文件夹与 其子目录apps 添加到环境变量中.
      """
      
      image
      环境变量的使用场景
      在导入文件的时候, 导入路径越短越好, 
      如果导入的路径中经过py文件会执行该文件, 路径过长可能会出问题(循环导入...)
      在py文件中使用绝对路径与相对路径 .与.. 导入模块的后, 该文件只能直接运行, 只能够被其他的文件调用.
      
      image
    • 注册app

      # app应用列表
      INSTALLED_APPS = [
          ...
          'user',  # 将apps添加到环境变量之后, 导入应用是能够直接找到user app
      ]
      
    • pycharm飘红

      image
    • 项目依赖库文件

      requirement.txt 中存放项目依赖的模块

      • pip list 查看所有的模块及版本号

        image

      • pip freeze 查看所有的模块及版本号

        image

      • requirement.txt 自动生成

        pip freeze > requirement.txt
        image

      • 下载安装模块

        pip install -r requirement.txt -i 豆瓣源

      • 遇到下载异常的模块

        pip install 命令可能会存在安装不了模块的情况.
        windows上你装的模块, 都是 xxx.whl文件可以将模块文件下载到本地再安装.
        模块下载网站: https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
        

        image

        image

      • 离线pip安装

        # 下载
        pip download -r requirement.txt -d "D:\pipDownloadTest"
        
        # 安装
        pip install xxx.whl
        
posted @ 2022-11-30 22:38  爱learn  阅读(34)  评论(0编辑  收藏  举报