当前位置: 首页 > news >正文

DRF-项目-(1):构建纯净版的drf项目,不再使用django的后台管理,django的认证,django的session等功能,作为一个纯接口项目

项目的目录结构:

 -HeartFailure

        |-- apps

                |--user

        |--HeartFailure

        |-- static

        |--manage.py

一、django项目相关的

1、命令行中创建django项目

#1、切换到指定的虚拟环境中
workon my_drf#2、该虚拟环境已经安装好django和rest_framework了
django-admin startproject HeartFailure

 2、在项目中创建apps包,所有的应用都放到这里

3、切换到apps目录下,创建user应用

python ../manage.py startapp user

4、注册user应用

a.由于user应用是放到了apps包中了,需要进行修改:apps/user/apps.py,其中的name='apps.user'

b.注册应用

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','apps.user.apps.UserConfig',#用户管理
]

二、drf纯净版配置

settings.py

INSTALLED_APPS = [# 'django.contrib.admin', #1、后台管理注销# 'django.contrib.auth', #2、django认证注销# 'django.contrib.contenttypes',#3、注销# 'django.contrib.sessions',#4、session会话功能注销# 'django.contrib.messages',#5、注销'django.contrib.staticfiles', #静态资源,后续静态资源可以由nginx代理'rest_framework',#使用Response时,会需要某些静态资源'apps.user.apps.UserConfig',#用户app
]MIDDLEWARE = ['django.middleware.security.SecurityMiddleware',# 'django.contrib.sessions.middleware.SessionMiddleware', #1、session中间件注销'django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware', #2、csrf校验注销# 'django.contrib.auth.middleware.AuthenticationMiddleware',#3、认证中间件注销# 'django.contrib.messages.middleware.MessageMiddleware', #4、注销'django.middleware.clickjacking.XFrameOptionsMiddleware',
]TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request',# 'django.contrib.auth.context_processors.auth', #1、注销掉# 'django.contrib.messages.context_processors.messages', #2、注销掉],},},
]STATIC_URL = '/static/'
#设置静态路由搜索的的目录,开发阶段可以使用,上线阶段用nginx来代理即可
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]#drf的配置,全局配置
REST_FRAMEWORK = {#在认证时,对于没有登录的用户会给request.user赋值匿名用户,这里设置赋值成None,【纯净版必须设置】'UNAUTHENTICATED_USER':None,
}

三、简单的nginx配置

#心衰系统的本地开发
server {listen       8008;server_name 127.0.0.1;#前端location / {root C:/APPS/html;index index.html;}#后端location /api/ {proxy_pass http://127.0.0.1:8005/;#配置nginx支持websocketproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";#websocket三个超时时间,有默认值proxy_read_timeout 600s;proxy_connect_timeout 30s;proxy_send_timeout 60s;}#nginx代理静态资源location /api/static {alias C:\data\project\HeartFailure\static;}}

总结:纯净版的drf项目,抛弃了django的后台管理,django的认证机制,会话机制等等。相对来说,系统允许速度会快一些。

http://www.lryc.cn/news/241390.html

相关文章:

  • ubuntu 手动清理内存cache
  • gitBash中如何使用Linux中的tree命令
  • 【鸿蒙应用ArkTS开发系列】- 灌水区,鸿蒙ArkTs开发有问题可以在该帖中反馈
  • c语言习题1124
  • 线段树---数据结构学习
  • linux基础5:linux进程1(冯诺依曼体系结构+os管理+进程状态1)
  • JVM-基础
  • Baidu Comate 基于百度文心一言的智能编码助手
  • 基本微信小程序的图书馆座位管理系统
  • 2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)
  • AWS CLI和EKSCTL的客户端设置
  • 分组背包问题学习笔记 AcWing 9. 分组背包问题
  • JSP EL 算数运算符逻辑运算符
  • ubuntu22.04 arrch64版在线安装node
  • 腾讯云轻量数据库开箱测评,1核1G轻量数据库测试
  • Linux安全之AIDE系统入侵检测工具安装和使用
  • 【Flink】状态管理
  • 《微信小程序开发从入门到实战》学习二十八
  • 2824. 统计和小于目标的下标对数目 : 详解 “左找右“ “右找左“ 两种方式
  • windows电脑定时开关机设置
  • 微信小程序取消自定义默认标题
  • Vue3鼠标拖拽生成区域块并选中元素
  • [深度理解] 重启 Splunk Search Head Cluster
  • Python + Docker 还是 Rust + WebAssembly?
  • [汇编实操]DOSBox工具: unable to open input file: 文件名.asm问题解决
  • Windows安装MongoDB
  • HandBrake 1.7 近日发布
  • Vue3的watch使用介绍及场景
  • Java设计原则和设计模式
  • webshell之基于框架免杀