Django REST框架

安装

安装使用pip,包括您想要的任何可选包...

pip install djangorestframework

pip install markdown           # Markdown support for the browsable API.

pip install django-filter        #  Filtering  support

添加 ‘rest_framework‘  到你的 INSTALLED_APPS设置

INSTALLED_APPS = (

  ‘rest_framework‘,

)

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

urlpatterns = [

url(r‘^api-auth/‘, include(‘rest_framework.urls, namespace=‘rest_framework‘))

]

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

我们来看一下使用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‘
    ]
}

不要忘了确保你也添加rest_framework到你的INSTALLED_APPS

我们已经准备好创建我们的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 define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = (‘url‘, ‘username‘, ‘email‘, ‘is_staff‘)

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

# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r‘users‘, UserViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
    url(r‘^‘, include(router.urls)),
    url(r‘^api-auth/‘, include(‘rest_framework.urls‘, namespace=‘rest_framework‘))
]

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

时间: 2024-08-04 16:40:49

Django REST框架的相关文章

记Angular与Django REST框架的一次合作(2):前端组件化——Angular

注:这是这个系列的第二部分,主要集中在Angular的使用方面.之前使用过AngularJS(Angular 1.x),混在Django的模板中使用,这些页面一般完全是结果展示页.在有Django表单输入的页面中,就很难将两者很好的结合起来.自己在学习新版的Angular时,跟了2遍官方网站的“英雄指南”教程.第1次完全是照搬,熟悉了一下基本概念:第2次自己做了一些修改,写了一个图片分享系统(只有一个雏形,还不是特别完善). 推荐IDE:Visual Studio Code 代码: github

python Django Wbe框架教程

python  Django Wbe框架教程 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西.为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定.Django的理念是DRY(Don't Repeat Yourself)来鼓励快速开发! 让我们一览 Django 全貌 urls.py

Django—— 缓存框架

译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运算——生成页面所需的.这个过程是异常消耗资源的,远远比从硬盘读取一个文件然后显示出来的代价高昂. 对于大多数中小网站来说,这也许不是问题,因为他们的访问量不大,而对于大型网站而言,必须尽量减少不必要的服务器资源开支. 因此,有了缓存技术. 缓存就是把一些需要消耗很多资源的计算结果保存下来,当下次需要

Django 六大框架之 Models

  先睹为快 from django.db import models class Person(models.Model):     first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)   核心要点 每一个model 是 django.db.models.Model 的子类       --> 数据库表 每一个model属性 是 django.db.models.Fil

Linux(CentOS7)系统中部署Django web框架

1. 概述 部署django和vue架在逻辑上可以分为web层与数据库层:web前端通过实现了WSGI协议的模块对python代码进行解析,而python代码中则通过特定于数据库的操作接口对数据库进行读取与写入. Django自身内置了轻量级的web服务器与sqlite数据库,可以用于简单的代码测试,并支持Apache httpd与Nginx作为web前端,以及PostgreSQL/MySQL/Oracle等数据库作为后端存储,用于实际的生产环境. 本文分别以MySQL + Apache htt

测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架

一.思考?? 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Django restframework能快速创建符合restful风格的API接口 通过Django restframework框架提供的序列化器.视图集可轻轻松松实现 简单高效,学习成本低 二.搭建项目工程???? 1.创建项目 打开pycharm 创建项目 使用豆瓣源安装Django Django

Django REST框架 -序列化

建立一个新的环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv env source env/bin/activate 现在我们在一个virtualenv环境中,我们可以安装我们的包的要求. pip install django pip install djangorestframework pip install pygments # We'll be using this fo

接口测试随笔四之根据Django web框架进行接口测试

Django快速开发之投票系统 之前分享过一篇Django开发投票系统的例子.今天在这个例子上做一些延伸,来讲讲web接口的开发与测试. 开发投票系统接口                                                      虽然投票系统的的功能已经开发完成,但我们并没有开发专门的接口,在当前的投票系统中,在我们调用一个get或post请求时,系统会返回整个页面,并且把测试连同页面一起返回. 例如,当我们要调用所有问题的接口时(test_get.py) imp

Django messages框架

一.简介 在网页应用中,你经常需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户 对于这个功能,Django 提供基于Cookie 和会话的消息,无论是匿名用户还是认证的用户. 其消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示.每个消息都带有一个特定level 标签,表示其优先级(例如info.warning 或error) 二.启用消息框架 消息框架的实现通过一个中间件 类和对应的context