框架介绍

为你的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. LSI SAS3IRCU配置SAS3系列RAID卡

    LSI SAS3IRCU配置SAS3系列RAID卡 一.适用的controller LSISAS3008 LSISAS3004 二.名词解释 Controller: IR: Volume: 卷,基于物 ...

  2. 【C#】MVC+EF+LINQ 综合小项目

    第一,创建数据库 create table category(id int primary key,name nvarchar(20)) create table news(id int primar ...

  3. 为什么要引入zookeeper系统

    为什么要引入zookeeper系统?这篇文章将说明几个引入zookeeper的原因,首先,先对zookeeper做一个简单的介绍. zookeeper是hadoop下的一个子项目,它是一个针对大型分布 ...

  4. Persistent and Transient Data Structures in Clojure

    此文已由作者张佃鹏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近在项目中用到了Transient数据结构,使用该数据结构对程序执行效率会有一定的提高.刚刚接触Trans ...

  5. 变量声明和定义的关系------c++ primer

    为了允许把程序分成多个逻辑部分来编写,c++语言支持分离式编译机制 为了支持分离式编译,c++语言把声明和定义区分开来.声明(declaration)使得名字为程序所知,一个文件如果想使用别处定义的名 ...

  6. 《C#多线程编程实战》2.10 SpinWait

    emmm 这个SpinWait 中文是自旋等待的意思. 所谓自旋,就是自己追自己影子,周伯通的左右手互博,不好听就是放屁自己追着玩,小狗转圈咬自己的尾巴 SpinWait是一个结构体,并不是一个类. ...

  7. Linux简单部署svn服务

    最近需要练习一下svn的命令行使用方法,以便编写自动化部署的脚本,但是不敢用正式的svn库进行练习,所以自己部署了一个svn服务,用来练习 1.安装svn server 我用的是ubuntu $apt ...

  8. SHTSC2017酱油记

    考完回来累成狗..睡了一觉..补游记.. DAY0 把最近刷的题发了下题解..NOIP RK10的蒟蒻收拾收拾准备退役了.. 12点就睡了..很久周五没这么早睡了.. DAY1 9点就醒了..莫名紧张 ...

  9. 【转】C#、面向对象、设计模式学习

    源地址:http://www.cnblogs.com/cj723/archive/2007/04/02/697431.html

  10. django 重写User表增加字段设置

    models中: from django.contrib.auth.models import AbstractUser lass User(AbstractUser): mobile = model ...