django rest-farme-work 的使用(1)

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

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

  • 可浏览性
  • 身份认证
  • 支持ORM和非ORM的序列化
  • 良好的文档支持

安装初步


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

可选包:


可选包.png

文件配置

在配置文件setting 中添加 APP如下图

INSTALLED_APPS = (
    ...
    'rest_framework',
)

在url 中添加路由如下

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

example (例子)

我们来看看使用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'
    ]
}

我们准备好现在创建我们的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'))
]

打开 127.0.0.1:8080,可以添加删除,创建用户

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,052评论 6 342
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,688评论 6 427
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,124评论 25 709
  • (一) 有人要杀我。 自打我有意识以来,我便被困在一个小黑房子里,那个房子软软的,很窄,很闷,可有时候却又很脆弱,...
    乐微扬阅读 5,086评论 15 25