121、Django rest framework入门使用
框架介绍
为你的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入门使用的更多相关文章
- django rest framework 入门
django rest framework 入门1-序列化 Serialization 分类: Python 2013-01-22 22:24 11528人阅读 评论(0) 收藏 举报 djangop ...
- Django REST framework入门 (转自中文文档)
快速入门 我们将创建一个简单的允许管理员用户查看和编辑系统中的用户和组的API. 项目设置 创建一个名为 tutorial 的新django项目,然后启动一个名为 quickstart 的新app. ...
- Django REST framework快速入门指南
项目设置 创建一个名为tutorial的新Django项目,然后开始一个名为quickstart的新应用程序. # Create the project directory mkdir tutoria ...
- Django REST Framework简单入门(一)
Django REST Framework(简称DRF),是一个用于构建Web API的强大且灵活的工具包. REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的. ...
- Django REST framework快速入门(官方文档翻译翻译)
开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...
- Django REST framework完全入门
Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
- Django REST framework 中文教程1:序列化
建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...
- Python Django rest framework
本节内容 Django rest framework 安装 Django rest framwwork 环境配置 简单举例说明 Django中使用 rest framework 1.1 安装 Djan ...
随机推荐
- SharePoint 2013报错之“指定的文件不是有效的电子表格或者没有包含要导入的数据”
当你尝试用SharePoint 2013中的“导入电子表格”功能时,可能会遇到报错“指定的文件不是有效的电子表格或者没有包含要导入的数据” 解决方法:只需要将你的SharePoint网址添加到浏览器的 ...
- 仓储(Repository)和工作单元模式(UnitOfWork)
仓储和工作单元模式 仓储模式 为什么要用仓储模式 通常不建议在业务逻辑层直接访问数据库.因为这样可能会导致如下结果: 重复的代码 编程错误的可能性更高 业务数据的弱类型 更难集中处理数据,比如缓存 无 ...
- [SinGuLaRiTy] 树链问题
[SinGuLaRiTy-1035] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 关于树链 树链是什么?这个乍一看似乎很陌生的词汇表达的其 ...
- oracle调试存储过程不进去
右击存储过程,选中Add debug information即可
- 开发效率神器 uTools - 偏前端和 UI
本文首发于:Bougie's Blog - 效率神器 uTools 前言 今天组内公众号推荐了 Mac 上的效率神器 Alfred. 详情链接:效率神器 Alfred workflow 插件推荐 早上 ...
- GCD - Extreme (II) UVA - 11426 数学
Given the value of N , you will have to nd the value of G . The de nition of G is given below: G = i ...
- SQL数据库“单个用户”不能访问,设置为多个用户的解决方法
USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM ma ...
- 【算法笔记】B1021 个位数统计
1021 个位数统计 (15 分) 给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1> ...
- hdu6325 Interstellar Travel 凸包变形
题目传送门 题目大意: 给出n个平面坐标,保证第一个点和第n个点y值为0,其余点的x坐标都在中间,要从 i 点走到 j 点的要求是 i 点的横坐标严格小于 j 的横坐标,并且消耗的能量是(xi * y ...
- layer.open中content里面的元素追加click事件,触发不了
[注意] 事件要追加在触发弹出事件的点击事件里面 $('#feedback').click(function(){ layer.open({ content:'<div><div c ...