Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django-DRF | 超链接

Django-DRF | 超链接

作者头像
小团子
发布于 2020-02-20 10:27:16
发布于 2020-02-20 10:27:16
89200
代码可运行
举报
文章被收录于专栏:数据云团数据云团
运行总次数:0
代码可运行

Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

HyperlinkedIdentityField

用超链接的方式有个明确的指向,models 序列化的字段由外键变为超链接的关联形式允许直接通过 pk 跳转到 api 页面。

序列化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class CategorySerializer(serializers.ModelSerializer):
    column = ColumnSerializer()
    class Meta:
        model = Category
        fields = ['id','name', 'column']

class ArticleSerializer(serializers.ModelSerializer):
    # view_name表示路由的别名,注意如果不是根目录下,则需要使用命名空间来:,
    # lookup_field:根据表指定字段,来拼路径,生成链接
    # lookup_url_kwarg:默认是pk,(urls.py中的指定的pk)可以不写,反向解析有名分组的名字。
    category = serializers.HyperlinkedIdentityField(view_name='api:category_detail', lookup_field='category_id', lookup_url_kwarg='pk')
    class Meta:
        model = Article
        fields = ['id', 'title', 'keywords', 'description', 'cover', 'read_num', 'like_num', 'category', 'tag', 'author']

url配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
urlpatterns = [
    path('articles/', ArticListleView.as_view(), name='article_list' ),
    path('articles/<int:pk>/', ArticleDetailView.as_view(), name='article_detail'),
    path('categories/<int:pk>/', CategoryDetailView.as_view(), name='category_detail'),
]

视图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class CategoryDetailView(generics.RetrieveUpdateDestroyAPIView):
    queryset = Category.objects.all()  # 查询结果集
    serializer_class = CategorySerializer  # 序列化类

class ArticListleView(generics.ListCreateAPIView):
    queryset = Article.objects.all()  # 查询结果集
    serializer_class = ArticleSerializer # 序列化类
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
DRF框架(六)——view视图里面继承GenericAPIView
之前rest框架最基础的view里面继承的是APIview,现在我们升级一下,继承GenericAPIView。
一写代码就开心
2021/03/02
6330
Django REST framework+Vue 打造生鲜超市(四)
五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest framework的view 利用Django的view实现返回json数据 # goods/view_base.py from django.views.generic import View from goods.models import Goods class GoodsListView(Vie
zhang_derek
2018/04/11
4.9K0
Django REST framework+Vue 打造生鲜超市(四)
Django_rest框架电商项目实践项目(一篇文章讲清楚电商项目)项目的创建与基本的配置,所有接口的代码,项目代码已给
做一个电商项目,就是卖不同品牌的电脑,可以根据不同的品牌进行查询,还有对订单的crud,还有用户的会员中心功能模块。还有收货地址模块
一写代码就开心
2022/01/21
2.8K0
Django_rest框架电商项目实践项目(一篇文章讲清楚电商项目)项目的创建与基本的配置,所有接口的代码,项目代码已给
rest_framework框架的基本组件
快速实例 Quickstart 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式。我们可以通过声明与Django forms非常相似的序列化器(serializers)来实现。 models部分: from django.db import models # Create your models here. class Book(models.Model): title=mod
阿强Wwlt
2018/07/09
8820
Django_rest框架片段高亮显示实践项目(一)url和view里面的代码的书写
和helloWord项目一样,就是建项目,搭建Djangorest的项目,现在因为是做代码片段高亮显示的项目,所以,需要一个新表,所以我们需要在model.py里面写一个实体类
一写代码就开心
2022/01/21
7440
Django_rest框架片段高亮显示实践项目(一)url和view里面的代码的书写
Django REST framework+Vue 打造生鲜超市(五) 六、商品类别数据展示
六、商品类别数据展示 6.1. 商品类别数据接口 (1)商品分类有两个接口: 一种是全部分类:一级二级三级   一种是某一类的分类以及商品详细信息:  开始写商品分类的接口 (2)序列化 给分类添加三
zhang_derek
2018/04/13
2.4K0
Django REST framework+Vue 打造生鲜超市(五)
		六、商品类别数据展示
DRF使用超链接API实现真正RESTful
很多API并不是真正的实现了RESTful,而应该叫做RPC (Remote Procedure Call 远程过程调用),Roy Fielding曾经提到了它们的区别,原文如下:
dongfanger
2020/12/23
1.2K0
DRF使用超链接API实现真正RESTful
测试开发进阶(二十九)
rest_framework.generics.ListCreateAPIView
zx钟
2019/10/24
6770
(项目)生鲜超市(七)
  商品详情页面只需要在商品列表页的接口中继承mixins.RetrieveModelMixin就可以了:
py3study
2020/01/20
7210
DRF框架学习(三)
1.视图中的request对象不再是Django中 HttpRequest类的对象,而是由DRF框架封装成的 Request类的对象。
小闫同学啊
2019/07/18
1.2K0
django-rest-framework框架学习
现在新一代web应用都开始采用前后端分离的方式来进行,淘汰了以前的服务器端渲染的方式。前后端分离方式有许多好处,比如 1、可以前后端并行开发,提高开发效率 2、页面都在客户端进行渲染,提高了渲染速度,减小了服务器的压力 3、一套api提供给多个客户端使用,而且不限制客户端的类型(web,app均可)
earthchen
2020/09/24
1.3K0
【愚公系列】2022年04月 Python教学课程 67-DRF框架之GenericAPIView
此类扩展了 REST 框架的类,为标准列表视图和详细信息视图添加了通常需要的行为。GenericAPIView继承于APIView。
愚公搬代码
2022/04/18
3810
Django rest framework(7)----分页
第一种分页  PageNumberPagination 基本使用 (1)urls.py urlpatterns = [ re_path('(?P<version>[v1|v2]+)/page1
zhang_derek
2018/04/11
1.8K0
Django rest framework(7)----分页
从入门到"精通"Django REST Framework-(五)
GenericAPIView 是 Django REST Framework (DRF) 中的一个基础视图类,它继承自 APIView,并添加了一些常用的功能,特别是与数据库模型交互的功能。它是 DRF 中通用视图和视图集的基础,提供了查询、序列化、分页等常用操作的标准实现。本质上它是 DRF 中所有通用视图(如 ListAPIView、RetrieveAPIView 等)的基础。
rxg456
2025/03/01
1480
从入门到"精通"Django REST Framework-(五)
DRF自动生成OpenAPI文档
API schemas是非常有用的,可以帮助我们生成接口文档以及可与API交互的动态客户端。Django REST Framework支持自动生成OpenAPI schemas,但是目前支持的不是非常完善,需要手动修改的地方过多。在这里我们使用drf-spectacular这个第三方库来自动生成OpenAPI schemas.
zy010101
2021/12/21
2.8K0
DRF自动生成OpenAPI文档
Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤
Github和Gitee代码同步更新: https://github.com/PythonWebProject/Django_Fresh_Ecommerce; https://gitee.com/Python_Web_Project/Django_Fresh_Ecommerce。
cutercorley
2020/07/27
5.4K0
Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤
第 7 篇:文章详情的 API 接口
一旦我们使用了视图集,并实现了 HTTP 请求对应的 action 方法(对应规则的说明见 使用视图集简化代码),将其在路由器中注册后,django-restframework 自动会自动为我们生成对应的 API 接口。
HelloGitHub
2021/05/14
1.1K0
Django Rest Framework
https://q1mi.github.io/Django-REST-framework-documentation/
vanguard
2020/07/07
2.4K0
Flask框架在Python面试中的应用与实战
Django REST framework (DRF) 是一个强大而灵活的工具包,用于构建Web API,特别是基于Django的应用程序。在Python面试中,对DRF的理解与实际应用能力是衡量候选人Web服务开发能力的重要指标。本篇博客将深入浅出地探讨DRF面试中常见的问题、易错点以及应对策略,并结合实例代码进行讲解。
Jimaks
2024/04/21
1820
Django REST framework+Vue 打造生鲜超市(七) 八、商品详情页功能
八、商品详情页功能  8.1.viewsets实现商品详情页接口 (1)商品详情页只需要多继承一个类(mixins.RetrieveModelMixin)就可以了 class GoodsListViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin,viewsets.GenericViewSet):  (2)商品轮播图 商品轮播图是一个外键,序列化外键用嵌套的方法来实现 #轮播图 class GoodsImageSerializer(serializ
zhang_derek
2018/04/16
1.2K1
Django REST framework+Vue 打造生鲜超市(七)
		八、商品详情页功能
推荐阅读
相关推荐
DRF框架(六)——view视图里面继承GenericAPIView
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验