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

Django REST框架是一個用于構(gòu)建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框架構(gòu)建簡單模型支持的API的一個簡單例子。
我們將創(chuàng)建一個讀寫API來訪問我們項目用戶的信息。
REST框架API的任何全局設(shè)置都保存在一個名為的配置字典中REST_FRAMEWORK。首先將以下內(nèi)容添加到您的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'
    ]
}

我們準備好現(xiàn)在創(chuàng)建我們的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,可以添加刪除,創(chuàng)建用戶

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,272評論 6 342
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,835評論 6 427
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,027評論 25 709
  • (一) 有人要殺我。 自打我有意識以來,我便被困在一個小黑房子里,那個房子軟軟的,很窄,很悶,可有時候卻又很脆弱,...
    樂微揚閱讀 1,390評論 15 25

友情鏈接更多精彩內(nèi)容