无码人妻丰满熟妇奶水区码,成年高潮网址,观看免费干B,欧美日韩深喉

如何借助 Django 來編寫一個(gè) Python Web API(python django搭建web項(xiàng)目)

如何借助 Django 來編寫一個(gè) Python Web API(python django搭建web項(xiàng)目)

Django 是 Python API 開發(fā)中最流行的框架之一,在這個(gè)教程中,我們來學(xué)習(xí)如何使用它。– Rachel Waston(作者)

Django 所有 Web 框架中最全面的,也是最受歡迎的一個(gè)。自 2005 年以來,其流行度大幅上升。

Django 是由 Django 軟件基金會維護(hù),并且獲得了社區(qū)的大力支持,在全球擁有超過 11,600 名成員。在 Stack Overflow 上,約有 191,000 個(gè)帶 Django 標(biāo)簽的問題。Spotify、YouTube 和 Instagram 等都使用 Django 來構(gòu)建應(yīng)用程序和數(shù)據(jù)管理。

本文演示了一個(gè)簡單的 API,通過它可以使用 HTTP 協(xié)議的 GET 方法來從服務(wù)器獲取數(shù)據(jù)。

構(gòu)建一個(gè)項(xiàng)目

首先,為你的 Django 應(yīng)用程序創(chuàng)建一個(gè)目錄結(jié)構(gòu),你可以在系統(tǒng)的任何位置創(chuàng)建:

$ mkdir myproject$ cd myproject

然后,在項(xiàng)目目錄中創(chuàng)建一個(gè)虛擬環(huán)境來隔離本地包依賴關(guān)系:

$ python3 -m venv env$ source env/bin/activate

在 Windows 上,使用命令 envScriptsactivate 來激活虛擬環(huán)境。

安裝 Django 和 Django REST framework

然后,安裝 Django 和 Django REST 模塊:

$ pip3 install django$ pip3 install djangorestframework

實(shí)例化一個(gè)新的 Django 項(xiàng)目

現(xiàn)在你的應(yīng)用程序已經(jīng)有了一個(gè)工作環(huán)境,你必須實(shí)例化一個(gè)新的 Django 項(xiàng)目。與 Flask 這樣微框架不同的是,Django 有專門的命令來創(chuàng)建(注意第一條命令后的 . 字符)。

$ django-admin startproject tutorial .$ cd tutorial$ django-admin startapp quickstart

Django 使用數(shù)據(jù)庫來管理后端,所以你應(yīng)該在開始開發(fā)之前同步數(shù)據(jù)庫,數(shù)據(jù)庫可以通過 manage.py 腳本管理,它是在你運(yùn)行 django-admin 命令時(shí)創(chuàng)建的。因?yàn)槟悻F(xiàn)在在 tutorial 目錄,所以使用 ../ 符號來運(yùn)行腳本,它位于上一層目錄:

$ python3 ../manage.py makemigrationsNo changes detected$ python4 ../manage.py migrateOperations to perform:??Apply all migrations: admin, auth, contenttypes, sessionsRunning migrations:??Applying contenttypes.0001_initial... OK??Applying auth.0001_initial... OK??Applying admin.0001_initial... OK??Applying admin.0002_logentry_remove_auto_add... OK??Applying admin.0003_logentry_add_action_flag_choices... OK??Applying contenttypes.0002_remove_content_type_name... OK??Applying auth.0002_alter_permission_name_max_length... OK??Applying auth.0003_alter_user_email_max_length... OK??Applying auth.0004_alter_user_username_opts... OK??Applying auth.0005_alter_user_last_login_null... OK??Applying auth.0006_require_contenttypes_0002... OK??Applying auth.0007_alter_validators_add_error_messages... OK??Applying auth.0008_alter_user_username_max_length... OK??Applying auth.0009_alter_user_last_name_max_length... OK??Applying auth.0010_alter_group_name_max_length... OK??Applying auth.0011_update_proxy_permissions... OK??Applying sessions.0001_initial... OK

在 Django 中創(chuàng)建用戶

創(chuàng)建一個(gè)名為 admin,示例密碼為 password123 的初始用戶:

$ python3 ../manage.py createsuperuser ??--email admin@example.com ??--username admin

在提示時(shí)創(chuàng)建密碼。

在 Django 中實(shí)現(xiàn)序列化和視圖

為了使 Django 能夠?qū)⑿畔鬟f給 HTTP GET 請求,必須將信息對象轉(zhuǎn)化為有效的響應(yīng)數(shù)據(jù)。Django 為此實(shí)現(xiàn)了“序列化類” serializers。

在你的項(xiàng)目中,創(chuàng)建一個(gè)名為 quickstart/serializers.py 的新模塊,使用它來定義一些序列化器,模塊將用于數(shù)據(jù)展示:

from django.contrib.auth.models import User, Groupfrom rest_framework import serializersclass UserSerializer(serializers.HyperlinkedModelSerializer):????class Meta:????????model = User????????fields = ['url', 'username', 'email', 'groups']class GroupSerializer(serializers.HyperlinkedModelSerializer):????class Meta:????????model = Group????????fields = ['url', 'name']

Django 中的 視圖 是一個(gè)接受 Web 請求并返回 Web 響應(yīng)的函數(shù)。響應(yīng)可以是 HTML、HTTP 重定向、HTTP 錯(cuò)誤、JSON 或 XML 文檔、圖像或 TAR 文件,或者可以是從 Internet 獲得的任何其他內(nèi)容。要?jiǎng)?chuàng)建視圖,打開 quickstart/views.py 并輸入以下代碼。該文件已經(jīng)存在,并且其中包含一些示例文本,保留這些文本并將以下代碼添加到文件中:

from django.contrib.auth.models import User, Groupfrom rest_framework import viewsetsfrom tutorial.quickstart.serializers import UserSerializer, GroupSerializerclass UserViewSet(viewsets.ModelViewSet):????"""????API 允許查看或編輯用戶????"""????queryset = User.objects.all().order_by('-date_joined')????serializer_class = UserSerializerclass GroupViewSet(viewsets.ModelViewSet):????"""????API 允許查看或編輯組????"""????queryset = Group.objects.all()????serializer_class = GroupSerializer

使用 Django 生成 URL

現(xiàn)在,你可以生成 URL 以便人們可以訪問你剛起步的 API。在文本編輯器中打開 urls.py 并將默認(rèn)示例代碼替換為以下代碼:

from django.urls import include, pathfrom rest_framework import routersfrom tutorial.quickstart import viewsrouter = routers.DefaultRouter()router.register(r'users', views.UserViewSet)router.register(r'groups', views.GroupViewSet)# 使用自動路由 URL# 還有登錄 URLurlpatterns = [????path('', include(router.urls)),????path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))]

調(diào)整你的 Django 項(xiàng)目設(shè)置

這個(gè)示例項(xiàng)目的設(shè)置模塊存儲在 tutorial/settings.py 中,因此在文本編輯器中將其打開,然后在 INSTALLED_APPS 列表的末尾添加 rest_framework:

INSTALLED_APPS = [????...????'rest_framework',]

測試 Django API

現(xiàn)在,你可以測試構(gòu)建的 API。首先,從命令行啟動內(nèi)置服務(wù)器:

$ python3 manage.py runserver

你可以通過使用 curl 導(dǎo)航至 URL http://localhost:8000/users 來訪問 API:

$ curl --get http://localhost:8000/users/?format=json[{"url":"http://localhost:8000/users/1/?format=json","username":"admin","email":"admin@example.com","groups":[]}]

使用 Firefox 或你選擇的 開源瀏覽器 :

如何借助 Django 來編寫一個(gè) Python Web API(python django搭建web項(xiàng)目)

一個(gè)簡單的 Django API

有關(guān)使用 Django 和 Python 的 RESTful API 的更多深入知識,參考出色的 Django 文檔 。

為什么要使用 Djago?

Django 的主要優(yōu)點(diǎn):

  1. Django 社區(qū)的規(guī)模正在不斷擴(kuò)大,因此即使你做一個(gè)復(fù)雜項(xiàng)目,也會有大量的指導(dǎo)資源。
  2. 默認(rèn)包含模板、路由、表單、身份驗(yàn)證和管理工具等功能,你不必尋找外部工具,也不必?fù)?dān)心第三方工具會引入兼容性問題。
  3. 用戶、循環(huán)和條件的簡單結(jié)構(gòu)使你可以專注于編寫代碼。
  4. 這是一個(gè)成熟且經(jīng)過優(yōu)化的框架,它非??焖偾铱煽?。

Django 的主要缺點(diǎn):

  1. Django 很復(fù)雜!從開發(fā)人員視角的角度來看,它可能比簡單的框架更難學(xué)。
  2. Django 有一個(gè)很大的生態(tài)系統(tǒng)。一旦你熟悉它,這會很棒,但是當(dāng)你深入學(xué)習(xí)時(shí),它可能會令人感到無所適從。

對你的應(yīng)用程序或 API 來說,Django 是絕佳選擇。下載并熟悉它,開始開發(fā)一個(gè)迷人的項(xiàng)目!


via: https://opensource.com/article/19/11/python-web-api-django

作者: Rachel Waston 選題: lujun9972 譯者: MjSeven 校對: wxy

本文由 LCTT 原創(chuàng)編譯, Linux中國 榮譽(yù)推出

點(diǎn)擊“了解更多”可訪問文內(nèi)鏈接

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年4月8日 上午9:47
下一篇 2023年4月8日 上午10:03

相關(guān)推薦

  • 項(xiàng)目管理類資格證書

    項(xiàng)目管理類資格證書:項(xiàng)目成功的關(guān)鍵因素 項(xiàng)目管理是一個(gè)涵蓋廣泛的領(lǐng)域,涵蓋了從項(xiàng)目的開始到結(jié)束的所有階段。在這個(gè)過程中,項(xiàng)目管理團(tuán)隊(duì)需要協(xié)調(diào)各種資源和利益相關(guān)者,以確保項(xiàng)目的順利進(jìn)…

    科研百科 2024年7月14日
    18
  • 甘肅民勤連古城國家級自然保護(hù)區(qū)管理局開展2020年保護(hù)區(qū)綜合考核工作

    1月14—18日,甘肅民勤連古城國家級自然保護(hù)區(qū)管理局組織開展了2020年度保護(hù)區(qū)綜合考核工作,對保護(hù)區(qū)管理局黨支部落實(shí)黨建任務(wù)、推進(jìn)支部標(biāo)準(zhǔn)化建設(shè)、“五型黨支部”創(chuàng)建、科室和保護(hù)…

    科研百科 2023年7月1日
    238
  • 制造業(yè)軟件項(xiàng)目管理系統(tǒng)

    制造業(yè)軟件項(xiàng)目管理系統(tǒng) 制造業(yè)是一個(gè)龐大而復(fù)雜的行業(yè),涵蓋了從產(chǎn)品設(shè)計(jì)到生產(chǎn)再到銷售的所有環(huán)節(jié)。在這個(gè)行業(yè)中,軟件開發(fā)和管理至關(guān)重要,因?yàn)檐浖到y(tǒng)是實(shí)現(xiàn)這些環(huán)節(jié)的關(guān)鍵工具。然而,傳…

    科研百科 2025年1月15日
    8
  • 會議管理的基本要求包括(會議管理的基本要求)

    會議管理的基本要求 會議管理是組織會議的重要環(huán)節(jié),對于會議的順利進(jìn)行和取得成功至關(guān)重要。以下是會議管理的基本要求: 1. 確定會議議程和目標(biāo):在會議前,必須制定詳細(xì)的議程和目標(biāo),確…

    科研百科 2024年6月3日
    48
  • 科研項(xiàng)目管理審計(jì)重點(diǎn)

    科研項(xiàng)目管理審計(jì)重點(diǎn) 科研項(xiàng)目管理審計(jì)是一種對科研項(xiàng)目進(jìn)行管理和決策的監(jiān)督方式,旨在發(fā)現(xiàn)和糾正潛在的質(zhì)量問題,提高科研項(xiàng)目的質(zhì)量和效率。以下是科研項(xiàng)目管理審計(jì)的重點(diǎn): 1. 預(yù)算管…

    科研百科 2025年3月3日
    3
  • 圖書館科研項(xiàng)目

    圖書館科研項(xiàng)目 圖書館作為知識的傳播者和存儲者,一直發(fā)揮著重要作用。隨著科技的不斷進(jìn)步,圖書館科研項(xiàng)目也在不斷發(fā)展。本文將介紹圖書館科研項(xiàng)目的一些現(xiàn)狀和發(fā)展趨勢。 一、圖書館科研項(xiàng)…

    科研百科 2025年1月31日
    4
  • 施工進(jìn)度計(jì)劃表用什么軟件

    施工進(jìn)度計(jì)劃表用什么軟件 施工進(jìn)度計(jì)劃表是一個(gè)非常重要的工具,可以幫助項(xiàng)目經(jīng)理和工程師更好地管理項(xiàng)目進(jìn)度和質(zhì)量。目前市面上有很多軟件可以用來制作施工進(jìn)度計(jì)劃表,以下是一些常用的軟件…

    科研百科 2024年5月24日
    44
  • 精益項(xiàng)目管理系統(tǒng)

    精益項(xiàng)目管理系統(tǒng):讓項(xiàng)目管理更加高效 隨著現(xiàn)代項(xiàng)目管理的不斷進(jìn)步,越來越多的公司開始采用精益項(xiàng)目管理系統(tǒng)來提升項(xiàng)目管理的效率和質(zhì)量。精益項(xiàng)目管理系統(tǒng)是一種基于精益生產(chǎn)理念的軟件工具…

    科研百科 2024年8月21日
    6
  • 會議管理工地例會會議紀(jì)要范文(會議管理工地例會會議紀(jì)要)

    會議管理工地例會會議紀(jì)要 會議時(shí)間:2023年2月18日 會議地點(diǎn):XX工地 主持人:XXX 出席人員: XXX,XXX,XXX,XXX,XXX,XXX,XXX 會議議程: 1. …

    科研百科 2024年6月2日
    30
  • 包頭供電客戶服務(wù)中心:黨建引領(lǐng)“五型班組”鑄造基層硬核實(shí)力

    為進(jìn)一步加強(qiáng)班組員工能力水平,包頭供電公司客戶服務(wù)中心服務(wù)調(diào)度班開展“五型班組”建設(shè),提升管理效能。 強(qiáng)化黨建引領(lǐng),推動班組建設(shè) 不斷加強(qiáng)黨的建設(shè),把黨建工作持續(xù)向班組延伸,以黨建…

    科研百科 2023年11月4日
    273
www.日本三级| 国产幼性Av| 视频一区人妻少妇一区二区| 亚洲国产精品一区二区第一页| 国产韩日欧美在线| 啊嗯嗯啊啊啊免费视频| 色小姐欧美在线视频| 日韩欧美综合网天天| 久久亚洲春色中文字幕久久| 亚洲日韩三级网站| 日本人妻偷拍| 日韩一区在线| AV不卡视屏| 麻豆久久精品成人三级 | 在线观看麻豆九一| 亚洲非洲成人在线视频| 久久亚洲综合中文字幕| 亚洲日韩久久麻豆| 国产视频精品91| 黄色片又粗又爽| 中文字幕久艹在线| 色欲女人综合网在线观看| 国产23区福利| AV大片访问一级| 狠狠干熟女网址| 日本97久久久久欠精品| 91麻豆成人在线视频| 婷婷五月丁| 亚洲免费视频一区| 国产在线精品二区二区乱码| 老司机网站一区二区三区| 欧美另类综合日韩| 日韩色色的网站| 日本夜午福利| 欧美亚洲日韩熟女| 男男gaycay男男| 久艹91av| 欧美日韩亚洲另类精品| 男人天堂av东京| 精品99宗合精品99| 亚洲第一熟女社区|