利用rest framework搭建Django API过程解析
作者:dalyday 时间:2021-08-09 21:33:46
思路步骤:
创建一个可以序列化的类
去数据库取数据交给序列化的类处理
把序列化的数据返回前端
操作流程:
# 安装模块
pip install djangorestframework
# settings.py配置
1. apps中注册
INSTALLED_APPS = [
'...',
'rest_framework',
]
2.末尾添加以下代码,访问权限
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
]
}
# app目录下创建rest_serializer.py文件,用来写处理序列化的类
# models.py中有个User类,类下有'username', 'password'字段
from crm import models
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
# 序列化哪个类以及其类下的字段
class Meta:
model = models.User # 序列化models中User类
fields = ( 'username', 'password',) # 序列化字段,此处无外键,有外键的话需要另写对应的序列化类
# app目录下创建rest_views.py文件,从数据库获取数据并交给序列化类处理
from rest_framework import viewsets
from crm.rest_serializer import UserSerializer
from crm import models
class UserViewSet(viewsets.ModelViewSet):
queryset = models.User.objects.all() # 取User表所有数据,变量名queryset固定
serializer_class = UserSerializer # 给UserSerializer类序列化,变量名serializer_class固定
# app目录urls.py文件,引入url,此处为二级分发,记得总url需要分发,url(r'^crm/', include('crm.urls')),
from django.conf.urls import url,include
from rest_framework import routers
from crm.rest_views import UserViewSet
router = routers.DefaultRouter() # 实例
router.register(r'users', UserViewSet) # 注册
urlpatterns = [
url(r'^api/', include(router.urls)),
]
运行即可!
更多资料请戳:https://www.django-rest-framework.org/
来源:https://www.cnblogs.com/dalyday/p/9988926.html
标签:rest,framework,搭建,django,api
0
投稿
猜你喜欢
CentOS7.3下mysql 8.0.13安装配置方法图文教程
2024-01-23 09:42:10
如何基于python实现不邻接植花
2023-10-14 16:35:45
记Qzone项目组视觉设计标注的前前后后
2010-03-24 18:03:00
pytest内置fixture使用临时目录流程详解
2021-12-27 06:49:23
详解JS 比较两个Json对象的值是否相等的实例
2024-04-29 13:35:36
对python 中class与变量的使用方法详解
2023-12-27 19:22:10
windows下cx_Freeze生成Python可执行程序的详细步骤
2022-12-06 05:27:57
详解MySQL分组链接的使用技巧
2024-01-14 03:40:37
在Linux命令行终端中使用python的简单方法(推荐)
2021-10-27 23:29:21
关于Python正则表达式模块之re模块
2022-12-31 08:03:46
win10下python2和python3共存问题解决方法
2022-11-05 09:08:38
python 实现一个反向单位矩阵示例
2023-07-27 16:05:51
SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案
2024-01-25 09:23:42
python+ffmpeg批量去视频开头的方法
2021-07-07 16:10:01
js中typeof的用法汇总
2024-04-17 10:38:45
MySQL备份时排除指定数据库的方法
2024-01-19 03:59:21
python matplotlib绘画十一种常见数据分析图
2022-09-02 04:50:41
python Tornado框架的使用示例
2021-01-03 11:12:11
思考如何提高交互设计水平?
2009-12-08 12:18:00
Pytest中skip skipif跳过用例详解
2022-07-21 09:42:30