Python Monitor Water Falls(2)Python RESTful Service
Prepare the package
>pip install django
>pip install djangorestframework
browsable API
>pip install markdown
filter support
>pip install django-filter
Start up the project
>django-admin.py startproject restful_api
>cd restful_api/
Create a quick start
>django-admin.py startapp quickstart
Sync the database for the first time
>python manage.py migrate
Create a user admin and password password123.
>python manage.py createsuperuser --email luohuazju@gmail.com --username admin
It will ask me for password.
First Example to Build RESTful Service on that.
Add restful_api/quickstart/serializers.py
from django.contrib.auth.models import User, Group
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'groups')
class GroupSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Group
fields = ('url', 'name')
Viewsets to Have the Response in restful_api/quickstart/views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from restful_api.quickstart.serializers import UserSerializer, GroupSerializer
class UserViewSet(viewsets.ModelViewSet):
"""
API endpoint for users
"""
queryset = User.objects.all().order_by('-date_joined')
serializer_class = UserSerializer
class GroupViewSet(viewsets.ModelViewSet):
"""
API endpoint for groups
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
Add the URL mapping in restful_api/urls.py
from django.conf.urls import url, include
from rest_framework import routers
from restful_api.quickstart import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
Add the settings there in restful_api/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
]
Start the RESTful Service
>python manage.py runserver
Test that from CURL
>curl -H 'Accept: application/json;indent=4' http://localhost:8000/users/
[
{
"url": "http://localhost:8000/users/1/",
"username": "admin",
"email": "luohuazju@gmail.com",
"groups": []
}
]
Test that from Browsable API
http://localhost:8000/
That is a very nice beginning.
Here are more to read about some details
http://www.django-rest-framework.org/tutorial/1-serialization/
http://www.django-rest-framework.org/tutorial/2-requests-and-responses/
http://www.django-rest-framework.org/tutorial/3-class-based-views/
And further read in settings
http://www.django-rest-framework.org/api-guide/settings/
References:
http://www.django-rest-framework.org/
http://jadyer.cn/2013/03/19/xml-stax/
https://blog.windrunner.me/python/web/django-rest-framework.html
http://www.cnblogs.com/ccorz/p/djangorestframework-shi-yong-li-zi.html
http://blog.csdn.net/luojie140/article/details/76832749
分享到:
相关推荐
本资源中利用Frank-Wolfe算法求解了SiouxFalls网络的交通分配结果(UE用户均衡结果,即没有用户可以通过单方面改变出行路径从而降低出行费用)。网络基本信息如txt文件所示,路阻函数采用了经典美国联邦公路局BPR...
《PyPI官网下载:探索Python库“gravity_falls”》 在Python的生态系统中,PyPI(Python Package Index)扮演着至关重要的角色,它是全球最大的Python软件仓库,为开发者提供了无数的开源库和模块。本篇文章将围绕...
### Python中的正则表达式详解 #### 一、引言 正则表达式(Regular Expression),简称regex或regexp,是一种非常强大的文本处理工具。它能够帮助我们高效地完成字符串的搜索、匹配、替换等操作。在Python编程语言...
Gravitty Falls.exe
在大多数编程语言中,都有内置的日期和时间数据类型,例如在VBScript中是Date,在Python中是datetime。这些数据类型可以存储日期和/或时间,并提供了操作它们的方法。 要获取一个日期是星期几,我们通常需要使用到...
Alan Walker All Falls Down.mp3
Falls路网,如需完整数据和代码请联系。 依赖关系 Python 3.6+ NumPy SciPy 熊猫 网络X CVXOPT MATLAB 2018a 描述 covarianceMatrix.m:生成协方差矩阵的方法 func_GP3.m和func_GP3_accelerate.m:GP3的两种实现方式...
- 复制并运行程序 `print("the rain falls", "from the sky")`,理解逗号的作用。 - 分析结果,了解逗号如何改变输出格式。 - **Activity 2.5**:探索转义序列及其作用。转义序列可以帮助改变文本的显示方式,如...
我们展示了Gravity Falls扩展程序,它将使您的浏览器拥有全新的外观。 通过安装它,您将获得具有完美品质的随机主题,这些主题将在您每次打开新标签页时显示。 这些主题将在您浏览时出现,使您更加享受。 但是,这还...
好的,现在我们对如何在Python中读取和更改列表有了一定的了解,让我们来使用这些知识。 目标 练习从列表中读取一个或多个元素 练习更改列表中的数据 练习添加元素和从列表中删除元素 我们的初始数据结构 在上一课中...
一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时, 共经过多少米?第 10 次反弹多高?
语言:English (United States) 在每个选项卡背景上均包括...通过我们的扩展程序,您可以获得:1:高分辨率的新标签页体验2:简单,清晰的视图! 没有无用的工具,图块或小部件! 3:从新标签页中进行简单,直接的搜索
在本项目"falls_assignment4"中,我们主要探讨的是与Java编程相关的内容。根据提供的信息,我们可以推测这可能是一个关于Java编程的作业或项目,它可能涵盖了Java的基础知识、特定的编程任务,甚至可能涉及软件开发...
借助Gravity Falls壁纸,您将获得惊人的功能,例如在“新标签”中更改背景 Chrome的Gravity Falls扩展程序会带来什么? 首先,您应该知道,通过引入此Gravity Falls壁纸新标签扩展名,您可以处置掉实际上已经过时的...
2. **异常检测**:设定阈值,当传感器数据显示超过正常范围(如突然的加速度变化或压力消失)时,触发警报。 3. **信号处理**:使用滤波器去除噪声,提高数据准确性。 4. **行为识别**:通过机器学习算法(如决策树...
可用于UnityVR开发,3D游戏开发,高清天空盒子Skybox素材,游戏环境背景... 2-创建空Material,并转换成Cube/skybox形式, 3-将图片拖入新建的SkyboxMaterial, 4-用刚创建的Material代替项目中原本的系统默认Skybox
可用于UnityVR开发,3D游戏开发,高清天空盒子Skybox素材,游戏环境背景素材...2-创建空Material,并转换成Cube/skybox形式, 3-将图片拖入新建的SkyboxMaterial, 4-用刚创建的Material代替项目中原本的系统默认Skybox
近期,两大科技巨头IBM和SUN公司分别展示了旗下先进的多线程系统,即IBM的64线程Power 595和SUN的128线程"维多利亚瀑布"(Victoria Falls)系统。这两款系统均以强大的线程处理能力著称,但在设计理念和应用场景上各有...