Django REST 框架


Django REST框架

Django REST Framework

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

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


供资

REST框架是一个合作资助的项目...如果您在商业上使用REST框架,我们强烈鼓励您对其继续开发进行投资。签署付费计划.

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

非常感谢我们所有的人出色的赞助商,特别是对我们的优质支持者,哨兵, 溪流, ESG, 滚条, 干部, 无声无息, 软件上的灯光,和重工具.


所需

REST框架要求如下:

  • Python(3.5、3.6、3.7)
  • Django(1.11、2.0、2.1、2.2)

我们极力推荐并且只正式支持每个Python和Django系列的最新补丁版本。

下列软件包是可选的:

安装

安装使用pip包括你想要的任何可选的包..。

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support

.或者克隆GitHub的项目

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

'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'
    ]
}

别忘了确保你也增加了rest_framework敬你的INSTALLED_APPS.

我们现在已经准备好创建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。如果您使用右上角的登录控件,您还可以从系统中添加、创建和删除用户。

快速启动

等不及要开始了?这个快速启动指南是启动和运行以及使用REST框架构建API的最快方法。

发展

缴款准则有关如何克隆存储库的信息,请运行测试套件并将更改提交给REST Framework。

支撑

如需支援,请参阅REST框架讨论小组,试试看#restframework频道开启irc.freenode.net,搜索IRC档案,或者提出一个问题。堆栈溢出,确保包括“django-REST框架”标签。

如需优先支持,请注册专业或优质赞助计划.

对于REST框架开发的更新,您也可能希望遵循提交人在推特上。

跟随@tomchristie

保安

如果您认为在Django REST框架中发现了一些对安全有影响的内容,请不要在公共论坛上提出这个问题。.

将问题的描述通过电子邮件发送到安全@googlegroups.com...然后,项目维护人员将与您合作,在任何公开披露之前,在需要时解决任何问题。

许可证

版权2011年至今编码开放源码软件有限公司...版权所有。

允许以源和二进制形式重新分配和使用,不论是否修改,只要满足下列条件:

  • 重新发行的源代码必须保留上述版权通知,这一系列的条件和以下免责声明。

  • 以二进制形式进行的再发行必须复制上述版权通知、本条件清单以及随发行提供的文件和/或其他材料中的免责声明。

  • 未经特定的事先书面许可,不得使用版权持有人的姓名或其贡献者的姓名来支持或推广本软件衍生的产品。

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
发出的红包

打赏作者

QMQ2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值