`
xiaolin0199
  • 浏览: 571260 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

django RestFrameWork的简单测试

 
阅读更多

描述

写道
在icgoo中添加restframework,以订单模型Order做为资源制定接口
主要参考官方提供的接口例子:BlogPosts

 

官方例子:http://django-rest-framework.org/examples/blogpost.html

 

操作

settings中INSTALLED_APPS加入:

 

    'django.contrib.staticfiles',
    'djangorestframework',
    'restframework',

 

 

orders/resources.py

 

from djangorestframework.resources import ModelResource
from djangorestframework.reverse import reverse
from satchmo_store.shop.models import Order
from satchmo_store.contact.models import Contact

class ContactResource(ModelResource):
    """
    A Contact
    """
    model = Contact
    fields = ('first_name', 'email')

class OrderResource(ModelResource):
    """
    A Order Post 
    """
    model = Order
    fields = ('site', 'po_number', 'addressee', 'phone', 'url', 'city','contact')
    ordering = ('-po_number',)

    def url(self, instance):
        return reverse('order',
                        kwargs={'id': instance.id},
                        request=self.request)

    def contact(self, instance):
        return reverse('contact',
                        kwargs={'order': instance.id},
                        request=self.request)

 

 

order/urls.py

 

from django.conf.urls.defaults import patterns, url
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
from restframework.order.resources import OrderResource, ContactResource


urlpatterns = patterns('',
    url(r'^$', ListOrCreateModelView.as_view(resource=OrderResource), name='order-root'),
    url(r'^(?P<id>[^/]+)/$', InstanceModelView.as_view(resource=OrderResource), name='order'),
    url(r'^(?P<order>[^/]+)/contact/$', ListOrCreateModelView.as_view(resource=ContactResource), name='contact'),
    url(r'^(?P<order>[^/]+)/contact/(?P<id>[^/]+)/$', InstanceModelView.as_view(resource=ContactResource)),

    )

 

 

测试页面

 

order list



 

 

order instance



 

 

接口的调用

写道
相当与每一个url就是一个接口函数,你可以有post,get,delete操作
如order list的url:http://127.0.0.1:8000/rest/order/
还有一个id为110的order实例的url:http://127.0.0.1:8000/rest/order/110/
写道
对于url:http://127.0.0.1:8000/rest/order/110/
相当于就是这个order实例的接口函数
现用curl命令测试该接口
通过get获取该对象的数据
$curl -X get http://127.0.0.1:8000/rest/order/110/

{"city": "", "po_number": "22", "site": {"domain": "store.icinfo.net", "name": "store.icinfo.net"}, "contact": "http://127.0.0.1:8000/rest/order/110/contact/", "phone": "22", "addressee": "22", "url": "http://127.0.0.1:8000/rest/order/110/"}

你还可以获取不同的数据类型,如json,html,txt,xml
$curl -X get http://127.0.0.1:8000/rest/order/110/?format=xml

<root><city></city><po_number>22</po_number><site><domain>store.icinfo.net</domain><name>store.icinfo.net</name></site><contact>http://127.0.0.1:8000/rest/order/110/contact/</contact><phone>22</phone><addressee>22</addressee><url>http://127.0.0.1:8000/rest/order/110/</url></root>
通过Put修改对象数据
$curl -X put -d "po_number=33&delivery_location=mainland&street1=22&contact=1&phone=11&addressee=22&country=22&site=1&unit=RMB" http://127.0.0.1:8000/rest/order/110/

{"city": "", "po_number": "33", "site": {"domain": "demo.icgoo.net", "name": "IC\u8d2d\u5546\u57ce"}, "contact": "http://127.0.0.1:8000/rest/order/110/contact/", "phone": "11", "addressee": "22", "url": "http://127.0.0.1:8000/rest/order/110/"}
通过Delete删除对象
$curl -X delete http://127.0.0.1:8000/rest/order/110/

 

 

  • 大小: 143.8 KB
  • 大小: 129.8 KB
分享到:
评论
1 楼 CoderDream 2014-08-27  
你好,能把你的所有源代码都贴出来么?

相关推荐

    Django REST framework讲义PDF全集,中文文档PDF版

    Django REST Framework(DRF)是基于Python的Django Web框架的一个强大扩展,专为构建Web API而设计。本讲义全面涵盖了这个框架的核心概念、功能以及最佳实践,旨在帮助开发者快速掌握如何利用DRF创建高效、可维护的...

    Django restframework课件笔记详解

    Django REST framework(简称DRF)是Python Web开发领域中一个强大的工具,专门用于构建Web API。这个框架基于Django,提供了许多高级特性,使得开发者能够高效、灵活地构建高质量的RESTful API服务。本课件笔记将...

    django-rest-framework 官方文档

    Django REST Framework(简称DRF)是用于构建Web API的强大框架,它基于Python语言和Django Web框架。这个官方文档提供了全面的指南、教程和API参考,帮助开发者深入理解和使用DRF来创建高效、可维护的RESTful API。...

    django rest framework

    **Django REST Framework详解** Django REST Framework(简称DRF)是基于Python的Django Web框架构建RESTful API的强大工具。它提供了一套完整的解决方案,包括序列化、身份验证、权限控制、分页以及Web视图,使得...

    Django REST framework 单元测试实例解析

    通过这些示例代码和测试流程,你可以看到Django REST framework提供了一套相对完整的工具和方法来执行单元测试,使得测试Web API变得更加高效和简单。对于希望提高自身API测试能力的开发者来说,理解并掌握这些知识...

    基于Django框架,使用Django REST framework前后端分离技术搭建的网上图书商店.zip

    【标题】:基于Django框架,使用Django REST framework实现前后端分离的网上图书商店 【描述】:这个项目是一个采用Python的Django框架和Django REST framework构建的网上图书商店,实现了完整的前后端分离。它展示...

    Building APIs with Django and Django Rest Framework.pdf

    这本书的标题是《Building APIs with Django and Django Rest Framework》,意味着它专注于教导如何使用Django和Django Rest Framework(DRF)来构建API。Django是一个高级的Python Web框架,它鼓励快速开发和干净、...

    django rest framework入门.zip

    Django REST Framework使构建RESTful APIs变得简单,提供了丰富的功能,包括序列化、身份验证、权限管理、分页、过滤等。通过本入门教程,你应该对DRF有了初步的认识,并能开始搭建自己的API项目。继续深入学习DRF...

    Building APIs with Django and Django Rest Framework

    ### 构建API:使用Django与Django Rest Framework #### 一、简介 构建API:使用Django与Django Rest Framework这本书旨在帮助读者掌握如何使用Django框架及其流行的扩展库——Django Rest Framework(简称DRF)来...

    Python Django Web典型模块开发实战_用Django REST framework实现豆瓣API应用项目.pdf

    综上所述,这个课程可能涵盖了从Python的基础知识到使用Django REST framework构建Web API的全部过程,包括项目的需求分析、设计、实现和测试。通过这样的实战,学习者不仅可以提升Python和Django技能,还能掌握Web ...

    基于Django REST framework的广州市房源房价预测系统源码.zip

    本项目是基于Django REST Framework构建的一个广州市房源房价预测系统,旨在通过收集和分析数据,为用户提供房价预测功能。这个系统结合了Web开发与数据分析,是Python Web开发和机器学习应用的一个实例。以下是对...

    django-rest-framework-simplejwt-master_oppositemeq_encryption_dj

    10. **测试和调试**:项目中可能包含了单元测试和集成测试,以确保API的各个部分按预期工作,并且可以使用Django REST Framework的内置测试客户端进行API的调试。 通过学习和理解这些知识点,开发者可以有效地使用...

    Django+RestFramework API接口及接口文档并返回json数据操作

    在本文中,我们将深入探讨如何使用Django框架与Django Rest Framework(DRF)来创建API接口,并生成接口文档以及返回JSON数据。首先,我们来看看Django和DRF是什么。 Django是一个用Python编写的高级Web框架,它...

    django-rest-framework最新官方文档

    《Django REST Framework最新官方文档解析》 在Python的世界里,Django REST Framework(简称DRF)是一个强大的工具,用于构建高效、可维护的API。它是一个完整的框架,旨在使开发RESTful API变得简单易行。这篇...

    django-rest-framework-sav:扩展 Django Rest Framework 以添加会话身份验证观点

    虽然该包非常简单,提供了一个视图auth_token了包含的auth_token应用程序中的程序,但它经过了良好的测试,使其对使用 Django Rest Framework 3.0 的生产系统非常有用。 用于测试的构建矩阵涵盖了所有当前支持的 ...

    drf-articles:使用Django和Django REST Framework的简单REST API

    使用Django和Django REST Framework的简单REST API。 入门 这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。 先决条件 Python 3.7或更高版本 正在安装 将存储库克隆到本地计算机: ...

    Python在线考试系统后端-大学毕业设计-基于Django+Django -Rest-Framework.zip

    而Django Rest Framework则是Django的一个扩展,专为构建RESTful API设计,使得数据的序列化、认证、权限管理等变得简单易行。 1. Django框架: Django遵循MVC(模型-视图-控制器)设计模式,但在Django中,它被...

    learn_django:创建测试项目以学习Django REST Framework

    在本文中,我们将深入探讨如何使用Django REST Framework创建一个测试项目,以便更好地学习这个强大的Web服务API构建工具。Django REST Framework(简称DRF)是基于Python的Django Web框架的一个扩展,专为构建高...

    DjangoApp:Python Django Rest Framework示例

    **DjangoApp: Python Django Rest Framework 示例** 在Python Web开发领域,Django是一个非常流行的开源框架,它提供了高效、安全且易于使用的工具来构建Web应用。而Django Rest Framework(DRF)是Django的一个...

    DataHoop:基于Python DjangoREST-framework开发的web后台服务器

    《DataHoop:基于Python Django REST-framework开发的Web后台服务器详解》 在现代Web开发领域,构建高效、可扩展的后台服务器是至关重要的。DataHoop项目就是这样一个平台,它利用了Python的强大功能以及Django ...

Global site tag (gtag.js) - Google Analytics