iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Modern Web

Django新手指南系列 第 5

萬丈高樓平地起 來建第一支專案 江狗(Django) 鐵人Day05

  • 分享至 

  • xImage
  •  

再來要開始建立Django專案了,建好後我會一一介紹一下。

指定的資料夾內建立Django第一個專案,打一個Django內建指令系統會自動把預設的東西建立起來。(指定的資料夾:你想把專案放置的地方)

#建立專案資料夾目錄
#mkdir <專案資料夾名稱>
mkdir api

#切換進到專案資料夾
cd <專案資料夾路徑> 

#創建一個叫Project的專案
#django-admin startproject <專案名稱> 
django-admin startproject Project

專案資料夾內長這樣

└─ Project
|  |– __init__.py
|  |– asgi.py
|  |– settings.py
|  |– urls.py
|  └─ wsgi.py
└─ manage.py

由上到下依序是:

__init__.py
Python 文件,可以將所在目錄內導入Python文件。

asgi.py
裡面包含 Django 專案的 *ASGI 配置屬性,Django3.0新增的檔案,有非同步的功能。

settings.py
裡面包含 Django 專案的配置與設定檔。

urls.py
包含 Django 專案的各個應用程式(APP)的網址。

wsgi.py
裡面包含 Django 專案的 *WSGI 配置屬性。

manage.py
用來管理整個Django專案,像是啟動本地端伺服器、連接資料庫及建立應用程式(APP)。

補充:

ASGI 協議 & WSGI 協議

ASGI(Asynchronous Server Gateway Interface)

  • Asynchronous 異步
  • Server 伺服器
  • Gateway 閘道(網關)
  • Interface 介面(接口)

ASIG是繼承WSIG再擴展出的協議,所以在WSIG上的應用程式也可以在ASIG的伺服器運行。

WSGI(Web Server Gateway Interface)

  • Web 網頁
  • Server 伺服器
  • Gateway 閘道(網關)
  • Interface 介面(接口)

WSIG是一種協議,規定HTTP Request要如何與Application Server溝通。
WSGI應用通常需要使用者輸入請求,伺服器才會回應使用者,無法支持長連接或者WebSocket

相同處:
WSGI 與 ASGI都是指定網關接口並位於 Web server和 Python Web 應用程序或框架之間。

相異處:

  1. WSGI是基於HTTP協議的所以不支援WebSocket。
  2. ASGI解決Python用WSGI在Web上的開發限制,並支持新協議。

介紹完每個的功能與用途後,下回要來啟動Django囉! 大家掰掰~

參考資料

Start a Django project
WSGI & ASGI


上一篇
降肉!降肉! Django安裝 江狗(Django) 鐵人Day04
下一篇
擦電~開機! 初次啟動 江狗(Django) 鐵人Day06
系列文
Django新手指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言