Django REST framework(DRF)最佳实践(一)

Django REST framework(DRF)最佳实践(一)

自己总结的一些合理配置,如有不足,可以指点,不是指指点点,一定悉心听取

settings,多环境配置

关于seetings,对于很多新手来说,会用系统的settings去修改即可,但是用于实际中,会区分不同的环境,比如开发环境和生产环境,本地或者远程等。建议是创建一个叫settings的文件夹,在文件夹中去创建不同的配置,一些公用的就放到settings_base.py中,比如说一些时区设置、认证设置、返回格式等等,开发环境就新建一个dev.py,将一些开发用到的放到开发环境,比如一些开发时测试用的库debug_toolbar之类的,创建后目录大致如下:

project_demo
├─apps
│ ├─app1
│ ├─app2
│ └─app3
├─project_demo
│ ├─settings
│ │ └─__init__.py
│ │ └─dev.py
│ │ └─prod.py
│ │ └─settins_base.py
│ ├─asgi.py
│ ├─urls.py
│ └─wsgi.py
└─utils
│ └─…
├─.env

图片1
请注意
在这里一定需要注意是settings文件夹中的__init__.py 这个文件,不能没有,而且里面需要有内容,比如说我的是要返回dev.py的配置,那么__init__.py中就要写上:
图2

而在dev.py中,先将公用配置导入,再添加或者修改开发用到的一些额外配置,如图:
图3
以上图片仅是我的配置,可以学习结构,但是别只顾着去抄,会报错的。

环境变量

不要直接放到settings中,新建.env文件,将环境变量存在到.env中
如:
.env
使用如下:

  1. 安装 python-dotenv
    pip install python-dotenv
    
  2. 在settings中使用
    # settings_base.py
    from dotenv import load_dotenv
    
    # 如果部署时得到的环境变量为空,可以在括号内加上文件 如load_dotenv(os.path.join(BASE_DIR, '.env'))
    load_dotenv()
    
    SECRET_KEY = os.environ.get("SECRET_KEY")
    

使用apps文件夹统一管理app

在Django中,通常使用apps文件夹来统一管理应用程序。这使得应用程序更易于管理和维护,尤其是当您的项目变得更加庞大和复杂时。

以下是在DRF中使用apps文件夹的步骤:

  1. 在您的项目根目录下创建一个名为"apps"的文件夹。

  2. 在"apps"文件夹中创建一个新的应用程序。您可以使用以下命令来创建应用程序:

    python manage.py startapp myapp
    
  3. 将应用程序添加到INSTALLED_APPS中。在settings.py文件中,将应用程序的名称从"myapp"更改为"apps.myapp":

    INSTALLED_APPS = [
        ...
        'apps.myapp',
    ]
    

如果出现错误,将你应用myapp中的apps.py文件中的name改成apps.myapp

上述为一种方法,另一种是在settings中去配置添加apps路径,设置完成后,可以不写apps. 这部分,但是在编辑工具中会出现无法正确导入的情况,实际运行不显示,操作如下:

#settings_base.py	
BASE_DIR = #省略

sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

遵循RESTful设计原则

pass

序列化器(Serializers)使用

pass

待后续更新吧


以上,以此记录并希望帮助后来者,如果对你也有帮助,不胜荣幸,也谢谢你的点赞

猜你喜欢

转载自blog.csdn.net/aifengaopeng/article/details/132830961