django restful webservice返回json数据
做这个demo的前提是你已经配好了python ,django ,djangorestframwork(在我的上一篇博客中有介绍,大家也可以google),mysql-python等。
djangorestframwork的官网点击打开链接http://django-rest-framework.org/
工程目录:
下面开始:
models.py 主要负责数据库对象的映射
'''
Created on 2013-9-19 @author: lele
'''
from django.db import models # Create your models here.
class Student(models.Model): id=models.IntegerField(primary_key=True)
Pname= models.CharField(max_length=500)
age=models.IntegerField() class Meta:
ordering = ('id',)
序列化:
serializers.py
# -*- coding: UTF-8 -*-
'''
Created on 2013-9-19 @author: lele
'''
from django.forms import widgets
from rest_framework import serializers
from models import Student,Content
class StudentSerializer(serializers.ModelSerializer):
mystudentsdetail = serializers.HyperlinkedRelatedField(many=True, view_name='student-detail')
class Meta:
model = Student
fields = ('id', 'Pname','age')
id = serializers.IntegerField() # Note: `Field` is an untyped read-only field.
Pname= serializers.CharField(max_length=100)
age=serializers.IntegerField() def restore_object(self, attrs, instance=None):
"""
Create or update a new snippet instance.
"""
if instance:
# Update existing instance
instance.Panme = attrs['Pname']
instance.id = attrs['id']
instance.age = attrs['age'] return instance # Create new instance
return Student(**attrs)
views.py:
'''
Created on 2013-9-19 @author: lele
''' from django.http import HttpResponse
from models import Student,Content
from serializers import StudentSerializer
from rest_framework import viewsets class StudentViewSet(viewsets.ModelViewSet): """
This viewset automatically provides `list`, `create`, `retrieve`,
`update` and `destroy` actions. Additionally we also provide an extra `highlight` action.
"""
queryset = Student.objects.all()
serializer_class = StudentSerializer
修改配置文件:
在settings.py中修改databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'test', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '3306', # Set to empty string for default.
}
}
还是在settings.py中添加:
REST_FRAMEWORK = {
# Use hyperlinked styles by default.
# Only used if the `serializer_class` attribute is not set on a view.
'DEFAULT_MODEL_SERIALIZER_CLASS':
'rest_framework.serializers.HyperlinkedModelSerializer',
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
'PAGINATE_BY': 3, #every number in page
'PAGINATE_BY_PARAM': 'page_size',
'MAX_PAGINATE_BY': 100
}
设置访问连接:
在urls.py设置
from django.conf.urls import patterns, include, url
from rest_framework import viewsets, routers
from views import StudentViewSet router = routers.DefaultRouter()
router.register(r'mystudents',StudentViewSet) urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)
就剩最后一步了在mysql数据库中添加 数据
注意:数据库的名字与setting.py中的一致,table的名字格式是:项目名_对象名
例如我的项目名为:djangodemo2 models.py中的model对象名为student ,所以我的表名为:djangodemo2_student
有三个字段 id,Pname ,age 要与serializers.py中的fields字段相同
本例中的字段如下:
运行测试:
在浏览器中输入:http://localhost:8000 即可看到如下页面:
点击链接进入具体信息页面:
转载请注明:
新浪微博:http://weibo.com/u/3202802157
django restful webservice返回json数据的更多相关文章
- django restul webservice返回json数据
做这个demo的前提是你已经配好了python ,django ,djangorestframwork(在我的上一篇博客中有介绍,大家也可以google),mysql-python等. djangor ...
- Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理
Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理 今天在使用spring4.1.4,使用ResponseBody注解返回JSON格式的数据的时候遇到406错误. 解决 ...
- ASP.net jQuery调用webservice返回json数据的一些问题
之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, ...
- jQuery调用WebService返回JSON数据
相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. ...
- django 使用HttpResponse返回json数据为中文
之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 from django.http import JsonResponse def test(re ...
- asp.net webservice 返回json数据乱码解决方法
[WebMethod] public void QueryRiskNotice(string phone) { try { var data = _riskNoticeDal.QueryRiskNot ...
- 【C#】WebService接受跨域请求及返回json数据
问题概述 通过Web Service发布服务供客户端调用是一种非常简单.方便.快速的手段,并且服务发布后会有一个服务说明页面,直观明了,如图: 一般情况下,在web页面中的JavaScript中调用W ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- MOOC(2)-Django开发get、post请求,返回json数据
1.对get请求直接返回参数 如果请求多个参数,也只能返回一个参数,这里只返回了username参数 如果想要返回多个参数值,可以返回json格式数据 2.对get请求返回json数据 # views ...
随机推荐
- 2014年辛星jquery解读第二节
*************jquery的语法****************** 1.jquery是通过选取HTML元素,而且对选取的元素运行某些操作,从而完毕某些特效的. 2.因此,我们在使用jQu ...
- 【百度地图API】如何用圆形搜索获取中心点周围100米内全部关键点?如天安门附近所有的餐厅、加油站、宾馆、大厦等
原文:[百度地图API]如何用圆形搜索获取中心点周围100米内全部关键点?如天安门附近所有的餐厅.加油站.宾馆.大厦等 摘要: 在LBS上有这样一个常用的功能,查找附近所有的关键点(POI点,比如标志 ...
- linux系统管理命令--系统测试工具
1.tcpdump -n 使用IP地址表示主机,而不是主机名的:使用数字port号码,而不是服务名 -i 指定要监听的网卡接口, "-i any"表示抓取全部网卡接口上的数 ...
- 教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证
前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真 ...
- WebService对跨域的支持
WebService对跨域的支持 跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源, ...
- Content-Type boundary 问题
我并不知道问题怎么描述清楚一些. 事情是这样的,使用 Microsoft Dynamics CRM Server 2016 做CRM系统的时候用到 使用 Web API 执行批处理操作(参见SDK或 ...
- android studio 添加到项目库中的项目
工程-对-new module-Android Library-module name和package name 它应该在同一个库被引入. 然后在该文件夹replace新的library 在gradl ...
- iOS发展 - 使用您自己的自定义字体
一位同事问我最后一次,XXapp字体如何萌啊? 我也想提出萌哒哒的字体!然后,今天有这blog. 首先,我们正处于iOS发展,苹果给了我们很多的字体,当然,我就不一一列举在这里,英文,小汤表示看不懂啦 ...
- Linux httpd 跳转简单方法二
使用mod_proxy 这种方法要添加上mod_proxy_http.so 在httpd.conf 中打开httpd-vhost 在 httpd-vhost 里面添加上 <VirtualHost ...
- Installshield停止操作系统进程的代码 --IS6及以上版本适用
原文:Installshield停止操作系统进程的代码 --IS6及以上版本适用 setup.rul的代码 Code;end;///////////////////////////////////// ...