一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Django rest framework基本介紹與代碼示例

Django rest framework基本介紹與代碼示例

2021-01-09 00:23HeatDeath Python

這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡(jiǎn)單敘述了rest framework的一些用處,可選擇的相關(guān)軟件包,然后分享了一個(gè)簡(jiǎn)單的模型支持的API的例子,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是Django rest framework的相關(guān)內(nèi)容,分享了example,具體如下。

Django REST框架是構(gòu)建Web API的強(qiáng)大而靈活的工具包。

您可能希望使用REST框架的一些原因:

  • Web瀏覽的API是您的開發(fā)人員的巨大的可用性勝利。
  • 驗(yàn)證策略包括OAuth1a和OAuth2的包。
  • 支持ORM和非ORM數(shù)據(jù)源的序列化。
  • 如果不需要功能更強(qiáng)大的功能,可以自定義一切 - 只需使用基于功能的常規(guī)視圖。
  • 廣泛的文檔和極好的社區(qū)支持。
  • 由Mozilla,Red Hat,Heroku和Eventbrite等國(guó)際知名公司使用和信賴。

Requirements

REST框架需要以下內(nèi)容:

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

以下軟件包是可選的:

  • coreapi(1.32.0+) - 支持模式生成。
  • Markdown(2.1.0+) - 可瀏覽API的Markdown支持。
  • django-filter(1.0.1+) - 過濾支持。
  • django-crispy-forms - 改進(jìn)的HTML顯示過濾。
  • django-guardian(1.1.1+) - 對(duì)象級(jí)權(quán)限支持。

Installation

Install using pip, including any optional packages you want…

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

Add'rest_framework'to your INSTALLED_APPS setting.

?
1
2
3
4
INSTALLED_APPS = (
  ...
  'rest_framework',
)

如果您打算使用可瀏覽的API,您可能還需要添加REST框架的登錄和注銷視圖。 將以下內(nèi)容添加到您的根urls.py文件中。

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

請(qǐng)注意,URL路徑可以是任何您想要的,但您必須在rest_framework的命名空間中包含“rest_framework.urls”。 您可以在Django 1.9+中省略命名空間,REST框架將為您設(shè)置。

Example

我們來(lái)看一下使用REST框架構(gòu)建一個(gè)簡(jiǎn)單的模型支持的API的一個(gè)簡(jiǎn)單例子。

我們將創(chuàng)建一個(gè)讀寫API來(lái)訪問我們項(xiàng)目用戶的信息。

REST框架API的任何全局設(shè)置都保存在名為REST_FRAMEWORK的單個(gè)配置字典中。 首先將以下內(nèi)容添加到settings.py模塊中:

?
1
2
3
4
5
6
7
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。

我們已經(jīng)準(zhǔn)備好創(chuàng)建我們的API了。 這是我們項(xiàng)目的根urls.py模塊:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django.conf.urls import url, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets
 
#Serializers定義API表示。
class UserSerializer(serializers.HyperlinkedModelSerializer):
  class Meta:
    model = User
    fields = ('url', 'username', 'email', 'is_staff')
 
#ViewSets定義視圖行為。
class UserViewSet(viewsets.ModelViewSet):
  queryset = User.objects.all()
  serializer_class = UserSerializer
 
#路由器提供了一種自動(dòng)確定URL conf的簡(jiǎn)單方法。
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
 
#使用自動(dòng)網(wǎng)址路由連接我們的API。
# 另外,我們還包括可瀏覽的API的登錄URL。
urlpatterns = [
  url(r'^', include(router.urls)),
  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))

您現(xiàn)在可以在http://127.0.0.1:8000/瀏覽器中打開該API,并查看新的“用戶”API。 如果您使用右上角的登錄控件,您還可以從系統(tǒng)添加,創(chuàng)建和刪除用戶。

總結(jié)

以上就是本文關(guān)于Django rest framework基本介紹的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

原文鏈接:http://blog.csdn.net/heatdeath/article/details/71105124

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 果冻传媒天美传媒在线小视频播放 | 暖暖的免费观看高清视频韩国 | 四虎影视在线影院在线观看观看 | 国产资源站 | 亚洲 欧美 日本 国产 高清 | 青草视频网 | 国产成+人+综合+亚洲不卡 | 成年人天堂 | 欧美在线视频7777kkkk | jk制服蕾丝超短裙流白浆 | 日韩视频免费一区二区三区 | 男人捅女人的鸡鸡 | 2018生活片性色生活片 | 日韩成人免费aa在线看 | 大妹子最新视频在线观看 | 免费网址视频在线看 | 肉车各种play文r | 国产高清在线播放刘婷91 | 亚洲精品www久久久久久久软件 | 96av视频在线观看 | 色99在线| 天天久久综合网站 | 国产东北3p真实在线456视频 | 精品久久久久久国产 | 国自产在线精品免费 | 四虎影视e456fcom四虎影视 | 91真人毛片一级在线播放 | 亚洲国产成人久久精品hezyo | 狠狠草视频 | 亚洲国产精品免费在线观看 | 动漫a级片 | 91精品乱码一区二区三区 | 55夜色66夜亚州精品站 | 久久精品国产欧美日韩99热 | 久热人人综合人人九九精品视频 | 美女张开腿让我了一夜 | 日韩二三区 | 国产精品成人一区二区1 | 护士被多人调教到失禁h | 欧美一级片免费 | 四虎最新永久免费网址 |