日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

用 Django 開發一個 Python Web API的方法步驟

瀏覽:24日期:2022-07-28 14:59:29

Django 是 Python 編程語言驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 應用程序框架。它是Python API開發中最受歡迎的名稱之一,自2005年成立以來,其知名度迅速提升。

Django由Django軟件基金會(Django Software Foundation)維護,并獲得了社區的大力支持,在全球擁有11,600多個成員。在Stack Overflow上,Django大約有191,000個帶標簽的問題。Spotify,YouTube和Instagram等網站都依賴Django進行應用程序和數據管理。

本文演示了使用HTTP協議的GET方法從服務器獲取數據的簡單API。

建立一個項目

首先,為您的Django應用程序創建一個結構;您可以在系統上的任何位置執行此操作:

$ mkdir myproject$ cd myproject

然后創建一個虛擬環境,它能夠使我們根據需要安裝一些特定的包來跑通我們的程序,并且不影響當前環境,用完退出虛擬環境即可。

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

在Windows上,使用命令env Scripts activate激活Python虛擬環境。

安裝Django和Django REST框架

接下來,安裝Django和Django REST框架模塊:

$ pip3 install django$ pip3 install djangorestframework

實例化一個新的Django項目

既然您已經為應用程序創建了工作環境,那么您必須實例化一個新的Django項目。與像Flask這樣的小框架不同,Django在此過程中包含專用命令(請注意第一個命令中的結尾.字符):

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

Django使用數據庫作為其后端,因此您應該在開始開發之前同步數據庫。可以使用運行django-admin命令時創建的manage.py腳本來管理數據庫。由于您當前位于tutorial路徑中,因此請使用../命令來運行腳本,該腳本位于同一個路徑中:

$ 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中創建用戶

使用示例密碼password123創建一個名為admin的初始用戶:

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

根據提示創建密碼。

在Django中實現序列化組件和視圖層

為了使Django能夠將信息傳遞給HTTP GET請求,必須將傳遞對象轉換為有效的響應數據。Django為此實現了序列化組件。

在您的項目中,通過創建一個名為quickstart / serializers.py的新模塊來定義一些序列化器,該模塊將用于數據傳輸:

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

Django中的視圖是一個接受Web請求并返回Web響應的函數。響應可以是HTML,或者是HTTP重定向,或者是HTTP錯誤,JSON或XML文檔,圖像或TAR文件,或者可以從Internet獲得的任何其他內容。要創建視圖函數,請打開quickstart / views.py并輸入以下代碼。該文件模板已經存在,并且其中包含一些樣板文本,因此請保留該文本并將其添加到文件中:

from django.contrib.auth.models import User, Groupfrom rest_framework import viewsetsfrom tutorial.quickstart.serializers import UserSerializer, GroupSerializer class UserViewSet(viewsets.ModelViewSet): ''' API endpoint allows users to be viewed or edited. ''' queryset = User.objects.all().order_by(’-date_joined’) serializer_class = UserSerializer class GroupViewSet(viewsets.ModelViewSet): ''' API endpoint allows groups to be viewed or edited. ''' queryset = Group.objects.all() serializer_class = GroupSerializer

使用Django生成URL

現在,您可以生成URL,以便人們可以訪問您的API。在文本編輯器中打開urls.py,并將默認示例代碼替換為以下代碼:

from django.urls import include, pathfrom rest_framework import routersfrom tutorial.quickstart import views router = routers.DefaultRouter()router.register(r’users’, views.UserViewSet)router.register(r’groups’, views.GroupViewSet) # Use automatic URL routing# Can also include login URLs for the browsable APIurlpatterns = [ path(’’, include(router.urls)), path(’api-auth/’, include(’rest_framework.urls’, namespace=’rest_framework’))]

調整您的Django項目設置

此示例項目的設置模塊存儲在tutorial / settings.py中,因此請在文本編輯器中將其打開,然后將rest_framework添加到INSTALLED_APPS列表的末尾:

INSTALLED_APPS = [ ... ’rest_framework’,]

測試您的Django API

現在,您可以測試已構建的API。首先,從命令行啟動內置服務器:

$ python3 manage.py runserver

您可以使用curl獲取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和Python的RESTful API的更深入的知識,請參閱Django文檔(https://docs.djangoproject.com/en/2.2/)。

到此這篇關于用 Django 開發一個 Python Web API的方法步驟的文章就介紹到這了,更多相關Django 開發Python Web內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线免费观看亚洲| 亚洲人成网站在线在线观看| se01亚洲视频| caoporn视频在线| 欧美日韩第一| 日韩欧美一区二区三区免费观看| 日韩av一区二区三区| 久久都是精品| 日本亚洲三级在线| 欧美日韩一二三四| 精品五月天堂| 蜜桃tv一区二区三区| 91日韩欧美| 999久久久精品国产| 先锋影音久久久| 奇米777国产一区国产二区| 蜜桃成人精品| 伊人久久视频| 岛国av免费在线观看| 日韩在线一区二区| 日韩精品一区二区三区免费观影 | 国产精品永久| 国产精品一区二区精品视频观看| 麻豆成人91精品二区三区| 亚洲精品日韩久久| 久久一区二区三区电影| 日韩av三区| 99久久久久国产精品| 久久影院午夜精品| 日韩欧美另类中文字幕| 国产精品一级| 国产精品一区二区美女视频免费看 | 精品国产一区二区三区性色av| 国产精品久久久久av蜜臀| 日韩二区在线观看| 欧美日韩第一| 欧美好骚综合网| 国产精品xxx在线观看| 久久福利毛片| 视频一区中文| 亚洲一级少妇| 国产一区一一区高清不卡| 日韩精品一二三| 欧美日韩国产观看视频| 日韩国产91| 日韩不卡一区| 日本欧美一区二区| 欧美aa一级| 免费观看不卡av| 亚洲天堂av资源在线观看| 日韩精品a在线观看91| 亚洲精品国产偷自在线观看| 在线一区视频观看| 色婷婷精品视频| 久久精品高清| 国产成人免费视频网站视频社区| 日韩欧美精品综合| 日本视频在线一区| 日韩高清二区| 国产精品一区二区免费福利视频| 国产一区调教| 久久爱www成人| 成人国产精品一区二区免费麻豆| 日韩av中文字幕一区二区三区| 国产在线日韩| 精品在线网站观看| 日韩网站在线| 欧美日韩激情| 国产一区91| 亚洲综合不卡| 综合视频一区| 夜夜嗨网站十八久久| 日韩中文字幕麻豆| 亚洲人成高清| 国产午夜久久av| 精品一区视频| 久久亚洲风情| 日韩高清在线不卡| 亚洲18在线| 国产福利资源一区| 日韩在线看片| 亚洲色诱最新| 青青草伊人久久| 欧美精品激情| 在线看片一区| 色婷婷亚洲mv天堂mv在影片| 999国产精品999久久久久久| 亚洲一区日本| 欧美激情亚洲| 91久久久精品国产| 欧美亚洲一级| 在线日韩av| 成人国产精品久久| 视频国产精品| 久久男人天堂| 日韩1区2区日韩1区2区| 亚洲不卡系列| 国产精品亚洲欧美日韩一区在线 | 欧美专区在线| 国产精品99视频| 亚洲专区视频| 狠狠色综合网| 激情黄产视频在线免费观看| 青青草国产成人99久久| 91精品综合| 国产日韩视频| 免费视频久久| 欧美日韩国产在线观看网站| 久久99影视| 亚洲人www| 日韩精品一卡二卡三卡四卡无卡| 国产精品国产三级国产在线观看| 中文字幕一区二区三区在线视频| 91看片一区| 精品视频97| 欧美在线精品一区| 六月天综合网| 日韩一区二区免费看| 亚洲综合在线电影| 国产欧洲在线| 国产精品成人3p一区二区三区| 手机精品视频在线观看| 日韩精品影视| 99精品在线免费在线观看| 国产一区二区三区不卡av| 国产精品一区亚洲| 国产精品探花在线观看| 欧美日韩一视频区二区| 日韩av中文字幕一区二区 | 88久久精品| 国产欧美69| 国内自拍视频一区二区三区| 88久久精品| 欧美91在线|欧美| 久久精品一区二区三区中文字幕| 国产亚洲一卡2卡3卡4卡新区| 欧美日一区二区在线观看| 欧美日韩一视频区二区| 久久97视频| 久久激情网站| 日韩视频在线一区二区三区 | 91免费精品国偷自产在线在线| 91欧美极品| 日产精品一区二区| 青青草视频一区| 涩涩av在线| 综合激情一区| 国产不卡人人| 亚洲三级在线| 国产成年精品| 久久亚洲影院| 麻豆久久一区二区| 国产99久久| 中文字幕日本一区二区| 成人一区不卡| 亚洲精品黄色| 99成人在线视频| 日韩和欧美一区二区| 亚洲国产欧美日本视频| 免费在线观看不卡| 精品一区二区三区在线观看视频 | 视频一区二区三区在线| 国产精品一区二区免费福利视频| 久久精品日韩欧美| 蜜桃久久精品一区二区| 国产精品伦理久久久久久| 亚洲v天堂v手机在线| 久久国产免费| 精品香蕉视频| 91精品一区| 亚洲一区二区三区高清| 精品国产一区二区三区av片| 蜜桃视频第一区免费观看| 免费福利视频一区二区三区| 日韩精品一区二区三区中文在线| 成人精品天堂一区二区三区| 国产探花一区二区| 国产婷婷精品| 国际精品欧美精品| 国产一精品一av一免费爽爽| 日韩中文字幕区一区有砖一区 | 国产精品nxnn| 久久精品 人人爱| 最新国产精品| 免费久久精品视频| 红桃视频欧美| 免费不卡中文字幕在线| 欧美不卡高清一区二区三区| 国产精品国产一区| 国精品产品一区| 国产精品成人a在线观看| 日韩免费精品| 欧美久久一区二区三区| 日韩欧美高清一区二区三区| 日日夜夜免费精品| 日本不卡高清视频| 国产精品综合| 黄色在线观看www| 激情欧美丁香| 蜜桃av一区二区在线观看|