Django rest framework

本文介绍如何使用Django REST框架构建强大的Web API,包括安装配置、权限设置及视图创建等内容。

一、简介

Django REST框架是构建Web API的强大而灵活的工具包。

使用REST框架的一些原因:

二、要求

REST框架需要以下内容:

  • Python(2.7,3.2,3.3,3.4,3.5)
  • Django(1.8,1.9,1.10)

三、安装

安装使用pip,包括您想要的任何可选包...

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support
# 豆瓣源,安装快
pip3 install djangorestframework -i http://pypi.douban.com/simple --trusted-host pypi.douban.comdjangorestframework 

添加'rest_framework'到您的INSTALLED_APPS设置。

INSTALLED_APPS = ( ... 'rest_framework', )

如果您打算使用可浏览的API,您可能还需要添加REST框架的登录和注销视图。将以下内容添加到您的根urls.py文件中。

urlpatterns = [ ... url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]

请注意,URL路径可以是任何你想要的,但你必须包括'rest_framework.urls''rest_framework'命名空间。您可以在Django 1.9+中省略命名空间,REST框架将为您设置。

例如:

我们来看一下使用REST框架构建一个简单的模型支持的API的一个简单例子。

我们将创建一个读写API来访问我们项目用户的信息。

任何REST框架API的全局设置都保存在一个名为的单一配置字典中REST_FRAMEWORK。通过在您的settings.py模块中添加以下内容开始:

这个要添加到Django项目的setting里面

REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ] }

不要忘了确保你也添加rest_framework到你的INSTALLED_APPS

我们已经准备好创建我们的API了。这是我们项目的根urls.py模块:from django.conf.urls import url, includefrom django.contrib.auth.models import Userfrom rest_framework import routers, serializers, viewsetsfrom crm import models # 导入你的数据库

# Serializers define the API representation. class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = models.UserProfile # 和数据库表进行关联 fields = ('url', 'username', 'email', 'is_staff') # 控制数据库显示的字段 # ViewSets define the view behavior. class UserViewSet(viewsets.ModelViewSet):

  # 注意:queryset和serializer 两个字段名一定要是这两个不要改 queryset = User.objects.all() serializer_class = UserSerializer
# Routers provide an easy way of automatically determining the URL conf. router = routers.DefaultRouter() router.register(r'users', UserViewSet) # Wire up our API using automatic URL routing. # Additionally, we include login URLs for the browsable API. urlpatterns = [ url(r'^', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]

您现在可以在http://127.0.0.1:8000/浏览器中打开该API ,并查看新的“用户”API。如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。

 

 更多详情请参考:http://www.django-rest-framework.org/

  

  

 

 

转载于:https://www.cnblogs.com/sunkai1993/p/6831332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值