当前位置: 首页 > 编程笔记 >

Django rest framework基本介绍与代码示例

杜君浩
2023-03-14
本文向大家介绍Django rest framework基本介绍与代码示例,包括了Django rest framework基本介绍与代码示例的使用技巧和注意事项,需要的朋友参考一下

本文研究的主要是Django rest framework的相关内容,分享了example,具体如下。

Django REST框架是构建Web API的强大而灵活的工具包。

您可能希望使用REST框架的一些原因:

  • Web浏览的API是您的开发人员的巨大的可用性胜利。
  • 验证策略包括OAuth1a和OAuth2的包。
  • 支持ORM和非ORM数据源的序列化。
  • 如果不需要功能更强大的功能,可以自定义一切 - 只需使用基于功能的常规视图。
  • 广泛的文档和极好的社区支持。
  • 由Mozilla,Red Hat,Heroku和Eventbrite等国际知名公司使用和信赖。

Requirements

REST框架需要以下内容:

  • Python(2.7,3.2,3.3,3.4,3.5)
  • Django(1.8,1.9,1.10)

以下软件包是可选的:

  • coreapi(1.32.0+) - 支持模式生成。
  • Markdown(2.1.0+) - 可浏览API的Markdown支持。
  • django-filter(1.0.1+) - 过滤支持。
  • django-crispy-forms - 改进的HTML显示过滤。
  • django-guardian(1.1.1+) - 对象级权限支持。

Installation

Install using pip, including any optional packages you want…

pip install djangorestframework
pip install markdown    # Markdown support for the browsable API.
pip install django-filter # Filtering support

Add'rest_framework'to your INSTALLED_APPS setting.

INSTALLED_APPS = (
  ...
  'rest_framework',
)

如果您打算使用可浏览的API,您可能还需要添加REST框架的登录和注销视图。 将以下内容添加到您的根urls.py文件中。

urlpatterns = [
  ...
  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

请注意,URL路径可以是任何您想要的,但您必须在rest_framework的命名空间中包含“rest_framework.urls”。 您可以在Django 1.9+中省略命名空间,REST框架将为您设置。

Example

我们来看一下使用REST框架构建一个简单的模型支持的API的一个简单例子。

我们将创建一个读写API来访问我们项目用户的信息。

REST框架API的任何全局设置都保存在名为REST_FRAMEWORK的单个配置字典中。 首先将以下内容添加到settings.py模块中:

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'
  ]
}

不要忘了确保你还在你的INSTALLED_APPS中添加了rest_framework。

我们已经准备好创建我们的API了。 这是我们项目的根urls.py模块:

from django.conf.urls import url, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets

#Serializers定义API表示。
class UserSerializer(serializers.HyperlinkedModelSerializer):
  class Meta:
    model = User
    fields = ('url', 'username', 'email', 'is_staff')

#ViewSets定义视图行为。
class UserViewSet(viewsets.ModelViewSet):
  queryset = User.objects.all()
  serializer_class = UserSerializer

#路由器提供了一种自动确定URL conf的简单方法。
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

#使用自动网址路由连接我们的API。
# 另外,我们还包括可浏览的API的登录URL。
urlpatterns = [
  url(r'^', include(router.urls)),
  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))

您现在可以在http://127.0.0.1:8000/浏览器中打开该API,并查看新的“用户”API。 如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。

总结

以上就是本文关于Django rest framework基本介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 介绍PS Vita的基本操作和灵活使用PS Vita的提示。 各部名称 可使用的媒体类型 充电 启动/关闭电源 触摸操作与感测器 基本操作 如何使用画面 启动/关闭应用程序 随意调整主画面 输入文字 与互联网连接 关闭声音 调整屏幕的亮度 拍摄画面截图 执行视听者限制 丢弃或转让PS Vita 主机时的注意事项

  • 1.1. 学校专属的的在线教学平台 学校云是以云服务的方式提供给院校的在线教学平台和课程资源,帮助学校实现线上教学、混合式教学和移动学习,用信息化的手段帮助学校提高教学效率和教学质量。与中国大学MOOC在课程资源和教学过程上实现无缝衔接。 每个学校拥有独立的站点,专属的门户页面,所有的学生、教师、课程和教学过程数据均为私有,只有本校的师生可以访问。网易云底层架构保证平台的高可用、高并发和数据安全。

  • 主要内容:什么是Java AWT,为什么Java AWT 是平台独立的?,Java AWT 层次结构,UI组件,容器组件,AWT 组件类的常用方法, Java AWT 示例,Java AWT 继承示例,Java AWT 关联示例什么是Java AWT Java AWT(抽象窗口工具包)是一个 API,用于在 Java 中开发图形用户界面 (GUI) 或基于 Windows 的应用程序。 Java AWT 组件是平台相关的,即根据操作系统的视图显示组件。AWT 很重,即它的组件使用底层操作系统 (

  • 项目和项目组 页面 数据模型 异步接口 页面模板 规则函数 业务分组 工程规范 接口管理平台(Netease Easy Interface),简称 NEI。 NEI 虽然叫接口管理平台,但其实不只是管理接口,它可以管理整个产品,也具备项目脚手架的功能。本文介绍 NEI 的设计理念和一些名词的含义。 项目和项目组 一个产品可能有多个子产品,比如 PC 端、Android 端、iOS 端、后台管理系统

  • 本文向大家介绍js对象简介与基本用法示例,包括了js对象简介与基本用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js对象简介与基本用法。分享给大家供大家参考,具体如下: 对象简介 js中没有"类"的概念,只有对象。 A:对象声明方式有三种 ------------1.调用Object函数创建对象:  对于一个已经声明的对象,可以给该对象设置任意属性。比如 这样就给person对象

  • 使用指南 - 代码安装 - 代码跟踪 - 百度统计代码介绍 跟踪原理 使用百度统计跟踪网站的流量,您需要在网站的每一个网页中加入百度统计的JavaScript代码。统计代码在创建站点时获取,一个站点对应一个代码跟踪ID。 当用户浏览您网站的某一个页面时,这段JavaScript代码会被执行,将所收集到的访问参数发送到百度统计的服务器,百度统计根据跟踪ID对数据进行归类处理,然后展示到相应ID的站点