济南网络建站,唐山网站开发公司,wordpress熊掌号专业版,单色系网站设计有哪些drf的学习需要学习者有django基本使用知识。 文章目录 什么是drf#xff0c;有什么作用CBV是什么初步使用drf 下载以及django创建项目django最小启动内容修改setting修改 url 编写drf视图编辑url测试返回结果 什么是drf#xff0c;有什么作用
drf(django rest-framework),让… drf的学习需要学习者有django基本使用知识。 文章目录 什么是drf有什么作用CBV是什么初步使用drf 下载以及django创建项目django最小启动内容修改setting修改 url 编写drf视图编辑url测试返回结果 什么是drf有什么作用
drf(django rest-framework),让使用者更快捷的开发规范化的接口。提供了权限、身份验证、限流等实用功能。基于django CBV来实现的
CBV是什么
FBV是什么 函数视图
def index(request):return HttpResponse(123)CBV是什么 类视图
class IndexView(View):def get(self, request):return HttpResponse(view get)函数是代码的封装、类是函数的封装
初步使用
drf 下载以及django创建项目
pip install djangorestframework# 创建一个django项目
django-admin startproject drf1# 创建一个app
python manage.py startapp fbvdrf已经不需要在setting的INSTALLED_APPS里面注册了。
django最小启动内容
修改setting
我们已将django内置的所有app、中间件、模版全部停用如下。这样会导致drf报错我们需要加如下代码
# 解决drf报错
REST_FRAMEWORK {UNAUTHENTICATED_USER: None,
}# 停用所有apps
INSTALLED_APPS [# django.contrib.admin,# django.contrib.auth,# django.contrib.contenttypes,# django.contrib.sessions,# django.contrib.messages,# django.contrib.staticfiles,fbv, # 注册我们自己的app
]# 停用所有内置中间件
MIDDLEWARE [# django.middleware.security.SecurityMiddleware,# django.contrib.sessions.middleware.SessionMiddleware, # session管理# django.middleware.common.CommonMiddleware,# django.middleware.csrf.CsrfViewMiddleware, # CSRF验证机制、一般用于前后端不分离# django.contrib.auth.middleware.AuthenticationMiddleware, # 身份验证中间件# django.contrib.messages.middleware.MessageMiddleware, # 消息中间件# django.middleware.clickjacking.XFrameOptionsMiddleware,
]# 模版禁用
TEMPLATES [# {# BACKEND: django.template.backends.django.DjangoTemplates,# DIRS: [],# APP_DIRS: True,# OPTIONS: {# context_processors: [# django.template.context_processors.debug,# django.template.context_processors.request,# django.contrib.auth.context_processors.auth,# django.contrib.messages.context_processors.messages,# ],# },# },
]修改 url
# from django.contrib import admin
from django.urls import pathurlpatterns [# path(admin/, admin.site.urls),
]编写drf视图
from rest_framework.response import Response
from rest_framework.views import APIViewclass RFWView(APIView):def get(self, request):return Response(drf view get)编辑url
from fbv.views import index, IndexView, RFWViewurlpatterns [path(RFWView/, RFWView.as_view()),
]
测试返回结果
postman中请求 [http://127.0.0.1:8000/RFWView/](http://127.0.0.1:8000/RFWView/)地址返回结果为 drf view get