前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Django | 开发】 Rest Framework 开放API

【Django | 开发】 Rest Framework 开放API

作者头像
计算机魔术师
发布2022-08-19 19:01:01
发布2022-08-19 19:01:01
56200
代码可运行
举报
文章被收录于专栏:计算机魔术师计算机魔术师
运行总次数:0
代码可运行

🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: 宝藏网站 |笔试题库|面试经验|实习招聘内推|

该文章收录专栏—【Django | 项目开发】从入门到上线 专栏—

Rest API,开放数据接口

官方文档 我们按照官方文档一步一步安装

  1. 安装对应依赖
  2. 添加appsettings
  3. 添加路由
代码语言:javascript
代码运行次数:0
复制
    path('api-auth/', include('rest_framework.urls'))
  1. 创建自己的API序列类视图
代码语言:javascript
代码运行次数:0
复制
"""
API 
"""
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets
from jobs.models import Jobs


# Serializers define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email', 'is_staff']


class JobSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Jobs
        fields = '__all__'  # 全部


# ViewSets define the view behavior.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer


# ViewSets define the view behavior.
class JobViewSet(viewsets.ModelViewSet):
    queryset = Jobs.objects.all()
    serializer_class = JobSerializer
  1. 添加路由
代码语言:javascript
代码运行次数:0
复制
# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
router.register(r'jobs', JobViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.


urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
urlpatterns = (
    # django rest api & api auth (login/logout)
    path('api/', include(router.urls)),
    path('api-auth/', include('rest_framework.urls'))
)
  1. 运行服务器🎉🎉🎉
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/08/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档