Skip to content

ITStudioOUC/Django-API-Utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

Django-API-Utils是基于Django编写后端API的一些组件和工具,致力于努力探究 Django 最佳实践。

目前基于 ITM-0011 中的规范编写,仍待完善和在实践中优化。

环境依赖

目前已在 Django 3 下测试可以成功运行。

环境要求:

Django >= 3.2, djangorestframework >= 3.12 (如需使用认证模块,请安装djangorestframework-simplejwt >= 5.0.0

初始化项目

  1. 使用pip安装

    pip install it-drf-utils
  2. 新建apps目录,将项目内的app放入apps文件夹内。

  3. settings.py文件内,新增apps目录到BASE_DIR

    ...
    BASE_DIR = Path(__file__).resolve().parent.parent
    # 新增下面这一行
    sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
    ...
  4. 在根路由文件urls.py下初始化Router Build

    from it_drf_utils.router_builder import RouterBuilder
    router = RouterBuilder()
    urlpatterns = [
        path("api/", include(router.urls)),
        path("api/", include(router.url_patterns)),
    ]
  5. (非必需)在项目根目录下新建config.json文件,将项目的一些配置信息和敏感信息写到json文件中,并在settings.py中读取

    import json
    
    # Configuration File
    with open('./conf.json', 'r') as f:
        config = json.load(f)
    
    SECRET_KEY = config.get('SECRET_KEY','')
    
    MYSQL_DB_NAME = config.get('MYSQL_DB_NAME','')
    MYSQL_DB_USER = config.get('MYSQL_DB_USER','')
    MYSQL_DB_PASSWORD = config.get('MYSQL_DB_PASSWORD','')

    这样的好处在于,避免将敏感信息暴露到Git服务器上。

初始化完后,项目的目录树大概是这样的:

.
├── apps
│   ├── __init__.py
│   └── <app_name>
│       ├── __init__.py
│       ├── admin.py
│       ├── apps.py
│       ├── migrations
│       │   └── __init__.py
│       ├── models.py
│       ├── serializers.py
│       ├── tests.py
│       └── views.py
├── <project_name>
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── .gitignore
├── manage.py
└── config.json[可选]

使用教程

更多详细信息请参考在线文档

About

基于 Django 的后端 API 工具。

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages