首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(Django Rest框架)如何添加反向URL字段?

在Django Rest框架中,可以通过使用reverse函数和HyperlinkedRelatedField来添加反向URL字段。

首先,需要导入reverse函数和HyperlinkedRelatedField类:

代码语言:txt
复制
from django.urls import reverse
from rest_framework import serializers

然后,在序列化器中定义一个字段,使用HyperlinkedRelatedField类,并指定view_name参数为目标视图的名称:

代码语言:txt
复制
class MySerializer(serializers.ModelSerializer):
    reverse_url = serializers.HyperlinkedRelatedField(
        read_only=True,
        view_name='target-view-name'
    )

    class Meta:
        model = MyModel
        fields = ('reverse_url', 'other_fields')

在上述代码中,target-view-name是目标视图的名称,可以是URL模式中定义的名称,也可以是视图类的名称。

最后,需要在URL配置中为目标视图添加一个名称,以便在序列化器中引用。例如:

代码语言:txt
复制
from django.urls import path
from . import views

urlpatterns = [
    path('target/', views.TargetView.as_view(), name='target-view-name'),
    # other URL patterns
]

这样,reverse_url字段将会包含目标视图的URL。

关于Django Rest框架的更多信息和使用方法,可以参考腾讯云的产品文档:Django Rest框架

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python教程

Django提供表单(Form)类和模型表单(ModelForm)类相同的方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。 通过创建HttpResponse的一个子类来开始,其中,我们可以用这个子类来渲染任何我们返回的json数据。...这些普遍的行为是通过REST框架的混合类(mixin classes)实现的。 让我们看看如何通过混合类(mixin classes)组建视图。下面是我们的views.py模型。...') 注意;确保你将'owner'字段添加到内部类Meta的字段列表里。...REST框架支持以上所有方式,都能适应正向或者反向关系,或者就行使用一般的外键一样使用自定义的管理方式。 这种情况下,我们想要在实体之间使用超链接方式。

5.1K10
  • Django DjangoFilterBackend django-filter

    djangorestframework==3.8.2 django-filter==2.0.0 #2 需求 获取某些数据时,需要按某些字段过滤 过滤时,有些的字段是 “跨表” 的字段,该如何处理 过滤时...,有些字段是 “区间” 字段(比如时间),该如何处理 过滤时,有些字段是 “跨表” 后的 “区间” 字段,又该如何处理 #3 起步 #3.1 新建一个Django项目 . ├── app │ ├──...__init__.py │ ├── admin.py │ ├── apps.py │ ├── filters.py # 添加新文件 │ ├── migrations │...REST框架简单的过滤 #4.1 没有使用过滤 class getUserListSerializer(DynamicFieldsMixin,serializers.ModelSerializer):...注意 : 在url的参数中,原来我们在filters.py中定义的变量是 “RegDate”,到了url中变成了 “RegDate_after” 和 “RegDate_before”,这是框架给我设定好的区间变量

    1.6K20

    django 自带 user 字段扩展及头像上传

    写接口(入门篇)》 《用django写接口(优化篇)》 《用django写接口(实战篇)》 1 扩展 django 的 User Model 字段 在实际项目中,django 自带的 user model...,再考虑到 django 的通过外键生成反向字段也需要做些处理,如果说我们只需要额外添加一个字段,需要做那么多工作,我是拒绝的。...import url from rest_framework.urlpatterns import format_suffix_patterns from expert_user import views...3 补充一下 之前在讨论群(在公众号后台回复“django”,获取入群方式)中,有个老铁问如何通过存在的数据库反向生成 model,因为比较简单,所以这边记顺带录下。...反向生成model 将生成的代码复制到我们的 models 文件中,特别要注意下圈出来的部分,大功告成!

    2.2K30

    Django REST Framework教程(一分钟入门)

    引用官方一句话:Django REST框架是用于构建Web API的功能强大且灵活的工具包。   那为什么要使用Rest Framework?   ...', 'name')  说明:serializers用户定义API表现形式,比如返回哪些字段,什么格式等,这里是序列化django自带的User和Group。...中,添加api的路由配置: from django.conf.urls import url, include from rest_framework import routers from tutorial.quickstart...url,一个是添加用户组,一个是添加用户。...细心的人可以发现,为啥status是红色的叉,是因为序列化的时候没有将状态字段显示,现在我将它放出来: 再运行程序,添加用户后查看:  进入后端管理页面查看:  是不是就开启了,如果不放心的同学,

    1.9K30

    初次就这么给了你(Django-rest-framework)

    Django-Rest-Framework Django-Rest框架是构建Web API强大而灵活的工具包。 简单粗暴,直奔主题。...给工程添加api python manage.py startapp test_restapi # 创建api 创建好之后,接下来,我们需要对django框架进行一些设置了(settings.py...'rest_framework', 'test_restframework.apps.SnippetsConfig', # 这里需要注意的就是 ,不添加有可能会出错 ) 配置添加完成之后...,create()和update()方法定义了在调用serializer.save()时如何创建或修改完全成熟的实例, serializer类非常类似于django form类,它包括在不同的字段上的类似验证标志...字段标志还可以控制在某些情况下序列化程序的显示方式,比如向HTML呈现的情况。 使用序列化器 在使用之前我们需要进入Django-shell。

    1.2K20

    简化 Django 开发的八个 Python 包 | Linux 中国

    我们为 Django 应用准备了六个包,为 DjangoREST 框架准备了两个包。几乎所有我们的项目里,都用到了这些包,真的,不是说笑。  ...处理 Django REST 框架的用户认证:django-rest-auth  如果 Django 开发中涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...如果你在用 DRF,那么你应该试试 django-rest-auth,它提供了用户注册、登录/注销,密码重置和社交媒体认证的端点(是通过添加 django-allauth 的支持来实现的,这两个包协作得很好...Django REST 框架的 API 可视化:django-rest-swagger  Django REST Swagger[23] 提供了一个功能丰富的用户界面,用来和 Django REST 框架的...你只需要安装 Django REST Swagger,把它添加Django 项目的已安装应用中,然后在 urls.py 中添加 Swagger 的视图和 URL 模式就可以了,剩下的事情交给 API

    2.9K20

    Django rest Framework入门 二 :DRF框架初体验

    Django rest Framework入门 一 :手工实现常见API中记录了如何手工基于Django实现常见的API类型,这篇笔记记录一下DRF框架简单使用的体验。...修改Django的settings.py文件 将’rest_framework’添加到‘INSTALLED_APPS’中,如下 INSTALLED_APPS = [ ......'rest_framework', ] 编写序列化器 序列化和反序列化的意思其实就是利用Django的Model将数据库中的数据进行一定的格式修改(比如dict变成json)之后返回给api请求者和将从...修改url配置 demo中的跟路由配置可以不作任何修改 以books/开头的url会导向book app中的路由,如下: from django.contrib import admin from django.urls...修改 修改book/urls.py如下: from django.conf.urls import url from rest_framework.routers import DefaultRouter

    9010

    TO-do api

    我们已经制作了第一个API,并回顾了HTTP和REST的抽象工作原理,但是您仍然可能还没有“完全”了解它们如何结合在一起。 在这两章的最后,您将学到。...Dajngo REST 框架 停止本地服务器Control + c,然后通过pipenv安装Django REST Framework。...我们从一个传统的Django项目和应用程序开始,我们创建了数据库模型并添加了数据。 然后,我们安装了Django REST Framework并配置了URL。...只需添加一个新视图,URL和一个模板即可公开我们现有的数据库模型。...我们可以做更多的配置,以后再做,但最终,创建Django API的过程是建立模型,编写一些URL路由,然后添加Django REST Framework的序列化程序和视图所提供的一些魔术。

    3.6K31

    Python用Django写restful api接口

    用Python如何写一个接口呢,首先得要有数据,可以用我们在网站上爬的数据,在上一篇文章中写了如何用Python爬虫,有兴趣的可以看看: https://www.cnblogs.com/sixrain/...我是通过Django+rest_framework来写的。 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站。...,rest_framework是一套基于DjangoREST 框架,是一个强大灵活的构建 Web API 的工具包。...还有个问题 我们的数据有好几千条,一块返回来很不合理,所以需要分页,当然rest_framework框架提供了这个功能,post请求不支持,需要自己查数据库或者切片来进行返回。...来看看rest_framework是如何来分页的。

    2.2K20

    如何使用Django构建现代Web应用程序来管理客户信息并在Ubuntu 18.04上进行反应

    Django,一个免费的开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架,一个功能强大且灵活的工具包,用于在Django中构建REST API。...这些将包括: Django:项目的Web框架Django REST框架:使用Django构建REST API的第三方应用程序。 django-cors-headers:启用CORS的程序包。...我们使用该项目的第一步是配置我们在上一步中安装的软件包,包括Django REST框架Django CORS软件包,方法是将它们添加到settings.py。...迁移是Django将您对模型所做的更改传播到数据库模式的方法。例如,这些更改可能包括添加字段或删除模型等内容。...在API消耗方面,在DjangoREST框架中的一个串行器允许将复杂的模型实例和查询集转换成JSON格式。

    13.9K83

    跟着官方文档学Python——Django Rest framework

    跟着官方文档学Python Django Rest framework 这周将会持续更新跟着官方文档学Python系列文章,主要是围绕web框架以及其他后端组件的官方文档展开学习。...Django Rest framework Django REST framework是一个内置在django里面的子应用,可以快速的开发REST API接口应用。...创建Django项目 django-admin startproject drfdemo 在settings.py下添加APP INSTALLED_APPS = [ ......'rest_framework', ] 在项目中如果使用rest_framework框架实现API接口,主要有以下三个步骤: 将请求的数据(如JSON格式)转换为模型类对象 通过模型类对象进行数据库操作..._all__" # 对所有字段操作 # 验证数据的方法[反序列化:接收客户端的数据] # 操作数据的带密码[反序列化:保存数据(添加/更新)] 编写视图views.py from

    2.3K10
    领券