框架介绍

为你的django平台通过model生成对应的restfull api,并可以通过对应的http接口来进行 post 、get、put、delete等操作。本文是也并非入门级别,不会带你去了解框架自身,而是直接告诉你怎么做可以快速达到目的。

安装

pip install django-rest-framework

设置

如果你还没有django的项目,那么你得先安装django并创建一个django项目,并创建数据库表。
1.如果已有项目可以直接配setting文件 在setting.py 中添加的 rest_framework

INSTALLED_APPS =(
...
'autoplat',
'rest_framework',
)

2.创建用于数据序列化的代码:
在自己的APP目录中创建autoplat/serializers.py文件

from rest_framework import serializers
from autoplat.models import*
classProductSerializer(serializers.HyperlinkedModelSerializer):
classMeta:
model =Product
fields =('id','name','isenabled','descr')
classProjectSerializer(serializers.HyperlinkedModelSerializer):
classMeta:
model =Project
fields =('id','name','isenabled','descr','productid')
classModuleSerializer(serializers.HyperlinkedModelSerializer):
classMeta:
model =Module
fields =('id','name','isenabled','projectid')

3.定义Views.py

from autoplat.forms import*
from rest_framework import viewsets
from autoplat.serializers import
classProductViewSet(viewsets.ModelViewSet):
"""
定义允许查看和编辑Product API
"""
queryset =Product.objects.all()
serializer_class =ProductSerializer
classProjectViewSet(viewsets.ModelViewSet):
"""
定义允许查看和编辑Project API
"""
queryset =Project.objects.all()
serializer_class =ProjectSerializer
classModuleViewSet(viewsets.ModelViewSet):
"""
定义允许查看和编辑Module API
"""
queryset =Module.objects.all()
serializer_class =ModuleSerializer

4.设置访问Urls.py
通过框架中的routers自动生成api 对应的url

from django.conf.urls import patterns, url, include
from rest_framework import routers
from autoplat import views
router = routers.DefaultRouter()
router.register(r'product', views.ProductViewSet)
router.register(r'project', views.ProjectViewSet)
router.register(r'module', views.ModuleViewSet)
urlpatterns =[
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

配置基本完成,启动server进行访问测试

http://127.0.0.1/api/ 出现下面类似页面则配置成功
图1首页

图2 具体接口操作

官网链接

121、Django rest framework入门使用的更多相关文章

  1. django rest framework 入门

    django rest framework 入门1-序列化 Serialization 分类: Python 2013-01-22 22:24 11528人阅读 评论(0) 收藏 举报 djangop ...

  2. Django REST framework入门 (转自中文文档)

    快速入门 我们将创建一个简单的允许管理员用户查看和编辑系统中的用户和组的API. 项目设置 创建一个名为 tutorial 的新django项目,然后启动一个名为 quickstart 的新app. ...

  3. Django REST framework快速入门指南

    项目设置 创建一个名为tutorial的新Django项目,然后开始一个名为quickstart的新应用程序. # Create the project directory mkdir tutoria ...

  4. Django REST Framework简单入门(一)

    Django REST Framework(简称DRF),是一个用于构建Web API的强大且灵活的工具包. REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的. ...

  5. Django REST framework快速入门(官方文档翻译翻译)

    开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...

  6. Django REST framework完全入门

    Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django ...

  7. 用Django Rest Framework和AngularJS开始你的项目

    Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...

  8. Django REST framework 中文教程1:序列化

    建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...

  9. Python Django rest framework

    本节内容 Django rest framework 安装 Django rest framwwork 环境配置 简单举例说明 Django中使用 rest framework 1.1 安装 Djan ...

随机推荐

  1. ECS服务里或者阿里云服务器的二级域名设置方法

    我们要实现的效果是,xuxinshuai.abc.com ,具体怎么实现,看下面的流程 第一步:备案域名要有,假如就是www.abc.com 第二步:网站的服务器是IIS的情况下,在部署网站时,需要设 ...

  2. C# 操作 MongoDB

    今项目使用Mongodb,C#操作MongoDB使用MongoDB.Driver.dll库(Nuget),写了个小Demo,如下: using System; using System.Collect ...

  3. Windows中与系统关联自己开发的程序(默认打开方式、图标、右击菜单等)

    1. 默认打开方式 1.1. 代码支持 在Windows下,某个特定后缀名类型的文件,如果要双击时默认用某个程序(比如自己开发的WinForm程序)打开,代码中首先肯定要支持直接根据这个文件进行下一步 ...

  4. Android Camera相机功能实现 拍照并保存图片

    AndroidManifest.xml <uses-feature android:name="android.hardware.camera"/> <uses- ...

  5. cinder侧挂载卷流程分析

    cinder侧挂载卷流程分析,存储类型以lvm+iscsi的方式为分析基础cinder侧主要调用了三个接口1)reserve_volume: 把volume的状态改为attaching,阻止其它节点执 ...

  6. Deferred Shading,延迟渲染(提高渲染效率,减少多余光照计算)【转】

    Deferred Shading,看过<Gems2> 的应该都了解了.最近很火的星际2就是使用了Deferred Shading. 原帖位置:   http://blog.csdn.net ...

  7. vue2.0使用ES6语法

    ES6 快速入门 什么是ES6? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出Java ...

  8. 洛谷P4526 【模板】自适应辛普森法2(Simpson法)

    题面 传送门 题解 据说这函数在\(x>15\)的时候趋近于\(0\) 据说当且仅当\(a<0\)时积分发散 所以直接套自适应\(simpson\)吧-- //minamoto #incl ...

  9. SDUT OJ 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...

  10. BI中的报表业务功能授权使用"自定义主题"