成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Python django中如何使用restful框架

瀏覽:351日期:2022-06-15 18:37:19
restful框架的使用

在使用django進(jìn)行前后臺(tái)分離開發(fā)時(shí)通常會(huì)搭配django-rest-framework框架創(chuàng)建RESTful風(fēng)格的接口API。框架介紹及版本要求可參考官方地址:https://www.django-rest-framework.org

Python django中如何使用restful框架

本文以創(chuàng)建man包含name、sex字段的API為實(shí)例學(xué)習(xí)django-rest-framework框架的使用。

主要包含下面5個(gè)步驟:

1.創(chuàng)建Django項(xiàng)目

2.創(chuàng)建ORM模型

3.加載Django REST Framework

4.序列化模型

5.創(chuàng)建加載數(shù)據(jù)的view和url

1.創(chuàng)建Django項(xiàng)目

創(chuàng)建django_rest

django-admin startproject django_rest

進(jìn)入django_rest,創(chuàng)建虛擬環(huán)境env

virtualenv env

激活虛擬環(huán)境,并安裝django

source ./env/bin/activate

安裝 django

pip install django

創(chuàng)建rest_app

python manage.py startapp rest_app

注冊(cè)app,將app添加到INSTALLED_APPS

#setting.pyINSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’rest_app’]

創(chuàng)建后臺(tái)admin賬戶用于管理

$ python manage.py createsuperuserUsername (leave blank to use ’root’):admin Email address: Password: Password (again): Superuser created successfully.2.創(chuàng)建ORM模型

數(shù)據(jù)庫我們使用默認(rèn)sqlite3 即可,如需要變更可在setting.py中databases配置。

修改我們/django_rest/models.py添加我們man的模型

#models.pyfrom django.db import models# Create your models here.class Man(models.Model): name = models.CharField(max_length=64) sex = models.CharField(max_length=64) def __str__(self):return self.name

做數(shù)據(jù)庫遷移

python manage.py makemigrations python manage.py migrate

Python django中如何使用restful框架

將Man這個(gè)model注冊(cè)到我們的后臺(tái),以便可以通過django的后臺(tái)做增刪查改,編寫admin.py如下

#admin.pyfrom django.contrib import adminfrom .models import Man# Register your models here.admin.site.register(Man) # 注冊(cè)Man到后臺(tái)

啟動(dòng)django服務(wù)

python manage.py runserver

訪問 http://127.0.0.1:8000/admin/可以看到登錄界面,輸入密碼登錄

Python django中如何使用restful框架

可以看到我們的rest_app下的模型man對(duì)象mans

Python django中如何使用restful框架

我們添加一個(gè)那個(gè)男人lgd.ame

Python django中如何使用restful框架

3. 加載Django REST Framework

安裝工具包

pip install djangorestframework

注冊(cè)rest_framework

#setting.pyINSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’rest_app’ ’rest_framework’ #注冊(cè)]4.序列化模型

序列化器會(huì)把我們的模型數(shù)據(jù)轉(zhuǎn)化(序列化)為json格式,這樣就能夠被請(qǐng)求了。同樣當(dāng)有josn數(shù)據(jù)提交過來的時(shí)候,序列化器會(huì)將json數(shù)據(jù)轉(zhuǎn)換為模型供咋們使用。

我們?cè)趓est_app下創(chuàng)建文件serializer.py

我們要做三件事:

1.導(dǎo)入Man模型

2.導(dǎo)入序REST Framework序列化器

3.創(chuàng)建新的類將模型和序列化器鏈接起來

from rest_framework import serializersfrom .models import Manclass Manserializer(serializers.HyperlinkedModelSerializer): class Meta:model = Manfields = (’name’,’sex’)5.創(chuàng)建加載數(shù)據(jù)的view和url

我們需要把序列化后的數(shù)據(jù)返回給瀏覽器,所以要做一下步驟:

1.通過不通的Man查詢數(shù)據(jù)庫

2.將查詢后的數(shù)據(jù)傳遞給序列化器,通過序列化器轉(zhuǎn)化為json

我們?cè)趓est_app/views.py編寫我們的視圖,ModelViewSet由rest_framework提供,包含了get、post方法

# views.pyfrom rest_framework import viewsetsfrom .serializers import ManSerializerfrom .models import Manclass ManViewSet(viewsets.ModelViewSet): queryset = Man.objects.all().order_by(’name’) #查詢結(jié)果給queryset serializer_class = ManSerializer #對(duì)結(jié)果進(jìn)序列化

在django_rest目錄下urls.py添加api路由

from django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path(’admin/’, admin.site.urls), path(’’, include(’rest_app.urls’)), ]

在rest_app目錄下創(chuàng)建urls.py添加視圖路由,通過rest_framework中router確保我們的請(qǐng)求到正確的動(dòng)態(tài)資源。

from django.urls import include, pathfrom rest_framework import routersfrom . import viewsrouter = routers.DefaultRouter()router.register(r’man’, views.ManViewSet) #路由到ManViewSet視圖# Wire up our API using automatic URL routing.# Additionally, we include login URLs for the browsable API.urlpatterns = [ path(’’, include(router.urls)), #使用router路由 path(’api-auth/’, include(’rest_framework.urls’, namespace=’rest_framework’))]

最后我們來啟動(dòng)服務(wù),訪問http://127.0.0.1:8000/ 可以在瀏覽器查看到我們api信息

python manage.py runserver

Python django中如何使用restful框架

訪問http://127.0.0.1:8000/man/ 來查看man資源

Python django中如何使用restful框架

通過id來訪問api資源http://127.0.0.1:8000/man/1/

Python django中如何使用restful框架

這樣我們一個(gè)基礎(chǔ)restful風(fēng)格的API創(chuàng)建完成了。感覺關(guān)鍵點(diǎn)還是理解ModelViewSet和內(nèi)置router不讀源碼很難知其所以然。

到此這篇關(guān)于Python django中如何使用restful框架的文章就介紹到這了,更多相關(guān)restful框架的使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品国产精品国产专区不蜜| 亚洲视频你懂的| 国产精品久久久久久久蜜臀| 国产成人免费视频| 欧美三日本三级三级在线播放| 亚洲最新视频在线观看| 亚洲三级影院| 国产精品卡一卡二| 欧美在线三级| 久久久久9999亚洲精品| 97se亚洲国产综合在线| 欧美片在线播放| 美国三级日本三级久久99| 久久久一二三| 日韩专区一卡二卡| 先锋a资源在线看亚洲| 一区二区三区在线看| aa级大片欧美三级| 亚洲乱码国产乱码精品精可以看| 一区二区三区我不卡| 日韩一区在线看| 夜夜夜久久久| 亚洲图片有声小说| 国产女主播一区二区三区| 亚洲一区二区视频| 另类亚洲自拍| 亚洲国产日韩综合久久精品| 国产精品外国| 午夜精品久久久久久久久| 久久久久久久久久久久久9999| 午夜精品久久久久久久99樱桃| 久久精品伊人| 麻豆国产精品777777在线| 欧美精品久久天天躁| 国产999精品久久久久久| 精品国产一区二区三区久久久蜜月 | 久久福利一区| 日本视频在线一区| 欧美高清激情brazzers| 成人涩涩免费视频| 国产人久久人人人人爽| 日韩视频中文| 三级一区在线视频先锋| 欧美视频一区二区三区| 国产成人av电影在线观看| 久久久久久免费毛片精品| 欧美日韩影院| 亚洲影视在线播放| 欧洲国内综合视频| 国产成人精品亚洲午夜麻豆| 亚洲精品一区二区三区四区高清 | 美女黄色成人网| 六月婷婷色综合| 欧美一区二区福利视频| 99re66热这里只有精品3直播 | 国产精品99久久久久久久vr| 国产亚洲欧美日韩日本| 亚洲视频播放| 美女视频黄 久久| ww亚洲ww在线观看国产| 亚洲人成网站在线观看播放| 日韩vs国产vs欧美| 精品国内片67194| 在线日韩av永久免费观看| 久久国产夜色精品鲁鲁99| 精品国产乱码久久久久久免费 | 久久国产精品亚洲77777| 精品一区在线看| 久久你懂得1024| 亚洲国产91| 免费人成黄页网站在线一区二区| 欧美成人高清电影在线| 亚洲精品在线免费| 激情综合色播激情啊| 久久精品日韩一区二区三区| 国产亚洲一级| 国产很黄免费观看久久| 国产精品国产a| 色88888久久久久久影院野外| 国产剧情一区二区| 国产精品毛片无遮挡高清| 色狠狠综合天天综合综合| 成人短视频下载| 亚洲久草在线视频| 精品视频一区二区三区免费| 91免费观看在线| 午夜精品久久久久久久蜜桃app| 日韩一区二区电影在线| av成人毛片| 国产精品主播直播| 国产精品成人网| 91九色最新地址| 91在线小视频| 亚洲成人av中文| 精品国产髙清在线看国产毛片| 一本色道久久综合亚洲精品不卡| 狠狠色丁香婷综合久久| 一区在线观看免费| 欧美日韩在线播放一区| 91视频你懂的| 日韩av不卡一区二区| 久久精品一区二区三区不卡| 色8久久人人97超碰香蕉987| 午夜视频精品| 国产精品综合网| 一区二区三区中文字幕精品精品| 日韩一区二区麻豆国产| 欧美亚洲网站| 91色porny在线视频| 另类中文字幕网| 一区在线中文字幕| 欧美一区二区国产| 亚洲一区二区三区精品视频| a级高清视频欧美日韩| 午夜精品久久久久久久久久| 国产欧美日韩中文久久| 欧美日韩视频第一区| 亚洲第一网站| 成人h动漫精品| 日本三级亚洲精品| 日韩美女视频一区二区| 欧美电影免费提供在线观看| 久久综合九色综合久99| 韩日精品视频| 成人久久视频在线观看| 日本成人中文字幕| 亚洲区小说区图片区qvod| 日韩欧美123| 色婷婷av一区| 精品不卡一区二区三区| 成人av在线看| 九九九精品视频| 亚洲福利一二三区| 国产精品美女久久久久高潮| 欧美videos中文字幕| 欧美最猛黑人xxxxx猛交| 国产精品三上| 国产字幕视频一区二区| 成人av在线影院| 国产美女一区二区| 日韩av一区二区三区| 一区二区三区在线播| 国产欧美一区二区精品秋霞影院| 欧美一区二区三区白人| 美女诱惑黄网站一区| 亚洲激情亚洲| 欧美承认网站| 99精品国产热久久91蜜凸| 国产剧情一区二区| 麻豆国产精品777777在线| 午夜精品福利一区二区三区蜜桃| 中文字幕在线不卡国产视频| 久久九九久精品国产免费直播| 欧美一区二区在线观看| 欧美丝袜丝交足nylons图片| 蜜桃av久久久亚洲精品| 一本色道久久综合亚洲精品高清 | 精品福利二区三区| 日韩一区二区电影| 欧美裸体一区二区三区| 欧洲色大大久久| 色哟哟一区二区| 久久综合狠狠| 色香蕉久久蜜桃| 久久综合福利| 91黄视频在线| 久久精品91| 老鸭窝91久久精品色噜噜导演| 99久久国产综合精品色伊| 国产精品18久久久久久久久久久久| 久久精品国产999大香线蕉| 日本91福利区| 免费成人小视频| 麻豆专区一区二区三区四区五区| 视频一区在线视频| 午夜精品久久久久久久久| 亚洲成人av一区二区三区| 亚洲国产欧美日韩另类综合| 一区二区三区在线观看欧美| 一区二区三区日韩欧美精品 | 欧美日韩精品综合在线| 欧美性受极品xxxx喷水| 精品视频在线免费看| 欧美日韩第一区日日骚| 欧美喷水一区二区| 欧美高清视频www夜色资源网| 91麻豆精品国产91久久久 | 欧美私模裸体表演在线观看| 91久久国产综合久久| 伊人蜜桃色噜噜激情综合| 国产一区高清在线| 91天堂素人约啪| 一区二区三区电影在线播| 91久久精品网| 狠狠色狠狠色合久久伊人| 久久亚洲美女| 国产精品996| 国产一区 二区 三区一级| 亚洲国产欧美日韩另类综合| 亚洲一区二区在线免费观看|