微信公众号微网站怎么建设做网站的框架结构
drf的学习需要学习者有django基本使用知识。
文章目录
- 什么是drf,有什么作用
 - CBV是什么
 - 初步使用
 - drf 下载以及django创建项目
 - django最小启动内容
 - 修改setting
 - 修改 url
 
- 编写`drf视图`
 - 编辑url
 - 测试返回结果
 
什么是drf,有什么作用
drf(django rest-framework),让使用者更快捷的开发规范化的接口。- 提供了权限、身份验证、限流等实用功能。
 - 基于
djangoCBV来实现的 
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 fbv
 
drf已经不需要,在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
