tastypie Django REST framework API [Hello JSON]
tastypie is a good thing.
Haven't test it thoroughly. Gonna need some provement.
Now I will introduct how to use tastepie for newbies.
Let me introduce all the equipments I have to deploy tastypie.
1) linuxmint 13
2) virtualenv ( sudo apt-get install python-virtualenv )
3) install django==1.5 in the virtualenv folder ( ./bin/pip install django==1.5 )
4) install django-tastypie (./bin/pip install django-tastypie )
5) create new project ( ./bin/djangoadmin.py startproject ts2 )
6) get into the 'ts2' folder ( cd ts2 )
7) create new app (../bin/djangoadmin.py startapp myapp NOTICE: folder myapp is at the same folder level as manage.py )
8) edit file ts2/myapp/models.py as following,
from tastypie.utils.timezone import now
from django.contrib.auth.models import User
from django.db import models
from django.template.defaultfilters import slugify class Entry(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField(default=now)
title = models.CharField(max_length=200)
slug = models.SlugField()
body = models.TextField() def __unicode__(self):
return self.title def save(self, *args, **kwargs):
# For automatic slug generation.
if not self.slug:
self.slug = slugify(self.title)[:50] return super(Entry, self).save(*args, **kwargs)
9) create ts2/myapp/api.py like this,
# myapp/api.py
from tastypie.resources import ModelResource
from models import Entry # Here i corrected it. the docs from tastypieapi.org is
#\ wrong that from myapp.models import Entry class EntryResource(ModelResource):
class Meta:
queryset = Entry.objects.all()
resource_name = 'entry'
10) add 2 rows in the ts2/ts2/settings.py as this,

add 'tastypie' and 'myapp' in the INSTALLED_APPS ,
11) edit ts2/ts2/urls.py ,
from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover
from myapp.api import EntryResource
entry_resource = EntryResource() urlpatterns = patterns('',
# Examples:
# url(r'^$', 'ts2.views.home', name='home'),
# url(r'^ts2/', include('ts2.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin:
# url(r'^admin/', include(admin.site.urls)),
# The normal jazz here...
#(r'^blog/', include('myapp.urls')),
(r'^api/', include(entry_resource.urls)),
)
12) initialize database , forms, and data ( ../bin/python manage.py syncdb )
File struture of this project:
ts2/
|-- db.sqlite3
|-- manage.py
|-- myapp
| |-- api.py
| |-- __init__.py
| |-- models.py
| |-- tests.py
| `-- views.py
`-- ts2
|-- __init__.py
|-- settings.py
|-- urls.py
|-- wsgi.py
13) run server ( ../bin/python manage runserver )
go to http://localhost:8000/api/entry/?format=json
Now you will see this:

This help you to read JSON ! :)
http://json.parser.online.fr/

Isn't good? :P
Before awaring of tastypie, I used orignal JSON parser and 3rd party ORM to do things like REST application works.
I have also heard of django-gap which is more lighter than tastypie.
Gonna have a comparison if possible. :)
Happy Coding!
tastypie Django REST framework API [Hello JSON]的更多相关文章
- Django Rest Framework API指南
Django Rest Framework API指南 Django Rest Framework 所有API如下: Request 请求 Response 响应 View 视图 Generic vi ...
- Django REST Framework API Guide 06
本节大纲 1.Validators 2.Authentication Validators 在REST框架中处理验证的大多数时间,您将仅仅依赖于缺省字段验证,或在序列化器或字段类上编写显式验证方法.但 ...
- Django REST Framework API Guide 01
之前按照REST Framework官方文档提供的简介写了一系列的简单的介绍博客,说白了就是翻译了一下简介,而且翻译的很烂.到真正的生产时,就会发现很鸡肋,连熟悉大概知道rest framework都 ...
- Django REST Framework API Guide 04
本节大纲 1.serializers 1.Serializers Serializers允许复杂的数据,像queryset和模型实例转换成源生的Python数据类型.从而可以更简单的被渲染成JSON, ...
- Django REST Framework API Guide 03
本节大纲 1.Routers 2.Parsers 3.Renderers Routers Usage from rest_framework import routers router = route ...
- tastypie Django REST framework
Its one of the primary authors' lecture on pyCon: http://www.youtube.com/watch?v=Zv26xHYlc8s&nor ...
- Django REST Framework API Guide 02
本节大纲 1.Generic Views 2.ViewSets 1.Generic Views CBV的主要的一个优点就是极大的允许了对于代码的从用.自然,rest framework取其优势,提供 ...
- Django REST framework API开发
RESTful设计方法 1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https:/ ...
- Django REST Framework API Guide 08
1.Filtering 2.Pagination FIltering GenericAPIView的子类筛选queryset的简单方法是重写.get_quueryset()方法. 1.根据当前用户进行 ...
随机推荐
- 枚举 UIButton补充
一.URL 1.什么是URL? URL是某个资源的唯一路径,通过这个路径就能访问对应的资源 2.URL的组成 协议头://全路径 * 协议头就代表资源的类型,比如http代表网络服务器资源,ftp代表 ...
- CRUD功能的JqGrid表格
CRUD功能的JqGrid表格 之前的项目也曾用过JgGrid对它的基本功能也是略有了解,网上有个国外的开源的项目,但是不适合个人的风格,所以花了3天空余的时间封装了下JqGrid,也算是参加开发工作 ...
- 使用 COM 风格的编程接口
使用COM 风格的编程接口 假设不直接使用 COM 库.不创建自己的包装.那么更可能的是使用 COM 风格的编程接口.这是由于如今很多开发商公布应用程序时.提供了首选的互操作程序集(Primary I ...
- hibernate实体类型映射文件
1.通过写hibernate映射文件.实体类型转换为数据库中的表 据实体类型而写的. 实体类型User.java package cn.wwh.www.hibernate.dd.property; i ...
- View & ViewData
ViewData 似乎没啥好说的,一个向 View 传送数据的字典. ----------------------------------------------------------------- ...
- knockout笔记
根据汤姆大叔博客总结-笔记: =============<script type="text/javascript"> $(function () { var View ...
- strus2 action重复执行问题
近日做项目,有两个模块功能类似,就写到了一个action中,方法起名为getXXX1,getXXX2 最后在两个模块去调用的时候,分别调用DemoAction!getXXX1.action和DemoA ...
- .NET源码
值得珍藏的.NET源码,不保存就没机会了 很早以前,我们通过http://referencesource.microsoft.com/netframework.aspx可以下载到.NET的各版本公开源 ...
- 分享一个c#写的开源分布式消息队列equeue
分享一个c#写的开源分布式消息队列equeue 前言 equeue消息队列中的专业术语 Topic Queue Producer Consumer Consumer Group Broker 集群消费 ...
- c# 如何显示图片指定位置
private void panel1_Paint(object sender, PaintEventArgs e) { Rectangle r1 = new Rectangle(0, 0, 100, ...