django ajax rest,Home - Django REST framework

django-rest-framework.svg?branch=master

djangorestframework.svg

注意:这是REST框架的version 3的文档。

Django REST Framework

c8f5c7fe552c47cd06e168f88c8a47a4.png

Django REST框架是一个用于构建Web API的功能强大且灵活的工具包。

您可能想要使用REST框架的一些原因:

REST框架是一个协作资助的项目。 如果您在商业环境中使用REST框架,我们强烈建议您通过

每一次注册都有助于我们使REST框架在财务上长期可持续。

REST框架需要以下内容:

Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)

Django (1.10, 1.11, 2.0)

以下软件包是可选的:

coreapi(1.32.0) - Schema生成支持。

Markdown(2.1.0) - 可浏览API的Markdown支持。

django-filter(1.0.1) - 过滤支持。

django-guardian(1.1.1) - 对象级权限支持。

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

pip install djangorestframework

pip install markdown # Markdown support for the browsable API.

pip install django-filter # Filtering support

...或从github克隆项目。

git clone git@github.com:encode/django-rest-framework.git

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

INSTALLED_APPS = (

...

'rest_framework',

)

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

urlpatterns = [

...

url(r'^api-auth/', include('rest_framework.urls'))

]

请注意,URL路径可以是任何你想要的。

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

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

REST框架API的任何全局设置都保存在名为REST_FRAMEWORK的单个配置字典中。 首先将settings.py模块加入以下内容:

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'

]

}

不要忘记确保你还在INSTALLED_APPS中添加了rest_framework。

我们准备好现在创建我们的API。

这是我们项目的根urls.py模块:

from django.conf.urls import url, include

from django.contrib.auth.models import User

from rest_framework import routers, serializers, viewsets

# Serializers define the API representation.

class UserSerializer(serializers.HyperlinkedModelSerializer):

class Meta:

model = User

fields = ('url', 'username', 'email', 'is_staff')

# ViewSets define the view behavior.

class UserViewSet(viewsets.ModelViewSet):

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。 如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。

迫不及待想开始? 快速入门指南是启动和运行以及使用REST框架构建API的最快方式。

本教程将引导您了解组成REST框架的构建块。 这需要一段时间才能完成,但它会让您全面了解所有内容如何组合在一起,并且极力推荐阅读。

完成的教程API有一个实时示例API用于测试目的,可在此处获取。

API指南是REST框架提供的所有功能的完整参考手册。

使用REST框架的一般指南。

有关如何克隆存储库,运行测试套件并将更改返回给REST框架的信息,请参阅贡献准则。

For support please see the REST framework discussion group, try the #restframework channel on irc.freenode.net, search the IRC archives, or raise a question on Stack Overflow, making sure to include the 'django-rest-framework' tag.

For priority support please sign up for a professional or premium sponsorship plan.

For updates on REST framework development, you may also want to follow the author on Twitter.

If you believe you’ve found something in Django REST framework which has security implications, please do not raise the issue in a public forum.

Send a description of the issue via email to rest-framework-security@googlegroups.com. The project maintainers will then work with you to resolve any issues where required, prior to any public disclosure.

Copyright (c) 2011-2017, Tom Christie

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this

list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this

list of conditions and the following disclaimer in the documentation and/or

other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND

ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE

FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR

SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值