本系列文章,在Django官方文檔教程的基礎模闆下,進行了一定的改進和删除(對模闆相關内容不進行講解),添加了一些自己的見解。
希望大家看完該系列文章後,對Django能夠有一個清晰的認識。
🔥 邂逅Django - 目錄
✅ Part 1:【邂逅Django】—— (一)建立項目
🛠️ Part 2:【邂逅Django】—— (二)資料庫配置
🛠️ Part 3:【邂逅Django】—— (三)視圖
🛠️ Part 4:【邂逅Django】—— (四)表單和通用視圖
🛠️ Part 5:【邂逅Django】—— (五)完善界面(自定義界面和樣式)
🛠️ Part 6:【邂逅Django】—— (六)自定義管理界面
🛠️ Part 7:【邂逅Django】—— (七)自動化測試
🎈 前言
本系列文章,在
Django
官方文檔教程的基礎模闆下,進行了一定的改進和删除(對模闆相關内容不進行講解),添加了一些自己的見解。
希望大家看完該系列文章後,對
Django
能夠有一個清晰的認識。
路漫漫兮其修遠兮,吾将上下而求索!
Django
官方文檔:https://www.djangoproject.com/
❗ ❗ ❗ 學習過程中,多看官方文檔,可以解決很多問題 ❗ ❗ ❗
本教程使用
poetry
對項目環境進行管理。
相關
的安裝與使用,請參考【Python - 虛拟環境】項目的啟動,從隔離開發環境開始 - CoderChaos - 部落格園 (cnblogs.com)
poetry
項目位址:https://github.com/CoderBerryRabbit/MeetDjango
一、環境說明
- 開發環境:
MacbookPro M1
- 開發工具:
PyCharm
- Python版本:
3.9.x
- Django版本:
3.2.x
- 虛拟環境&包管理工具:
poetry
二、建立項目
2.1 🌊 安裝依賴
poetry add django@^3.2.13
2.2 🌊 檢視 Django
版本
Django
python -m django --version
# 或
django-admin --version
2.3 🌊 Django
版本和 Python
版本對照表
Django
Python
版本 | 版本 |
---|---|
2.2 | 3.5、3.6、3.7、3.8(在 2.2.8 中添加)、3.9(在 2.2.17 中添加) |
3.0 | 3.6、3.7、3.8、3.9(在 3.0.11 中添加) |
3.1 | 3.6、3.7、3.8、3.9(在 3.1.3 中添加) |
3.2 | 3.6、3.7、3.8、3.9、3.10(在 3.2.9 中添加) |
4.0 | 3.8、3.9、3.10 |
2.4 🌊 建立 Django
項目
Django
django-admin startproject mysite
說明:
-
:建立項目的指令django-admin startproject
-
:建立項目的名稱(自定義)mysite
檢視
startproject
建立的目錄
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
目錄說明:
- 外部根目錄,是項目的容器。它的名字對Django來說并不重要,可以任意重命名。
-
:指令執行程式,以各種方式與此manage.py
項目進行互動。Django
-
:mysite/settings.py
項目的設定/配置。Django
-
:mysite/urls.py
項目的Django
聲明。URL
-
:mysite/asgi.py
Web 伺服器入口。ASGI
-
:mysite/wsgi.py
Web 伺服器入口。WSGI
注意:建立項目時,命名需要避免python内置包和Django元件名
2.5 🌊 開啟用于開發的簡易伺服器
# 在 manage.py 同目錄下打開終端
python manage.py runserver
# 成功啟動後,會有以下輸出
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
June 13, 2022 - 09:55:14
Django version 3.2.13, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
伺服器正在正常運作,通過浏覽器通路:http://127.0.0.1:8000/。
将看到一個“祝賀”頁面,有一隻火箭正在發射。
注意:當添加其他路由之後,如果沒有指定根路由對應的視圖,再次通路根路由,将傳回
http://127.0.0.1:8000
。
404
三、建立應用(app)
3.1 🌊 建立 polls
應用
polls
# 在 manage.py 同目錄下打開終端
python manage.py startapp polls
3.2 🌊 編寫第一個視圖
# polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
在
polls
目錄下建立新檔案
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
将
polls/urls.py
中的路徑,添加到根
URLcon
中。
在
mysite/urls.py
中,引入
from django.urls import include
。
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
啟動開發伺服器,在浏覽器通路:http://127.0.0.1:8000/polls/。
即可見 "Hello, world. You're at the polls index." ,這是在 index 視圖中定義的。
函數
path()
說明:
函數具有四個參數,兩個必須參數:
path()
和
route
,兩個可選參數:
view
和
kwargs
。
name
-
:比對route
的準則。當URL
響應一個請求時,會從Django
的第一項開始,按順序依次比對清單中的項,直到找到比對的項。urlpatterns
-
:當view
找到一個比對的準則,就會調用這個特定的視圖函數,并傳入一個Django
對象作為第一個參數,被“捕獲”的參數以鍵值參數的形式傳入。HttpRequest
-
:任意個關鍵字參數可以作為一個字典傳遞給目标視圖函數。kwargs
-
:為name
取名,能夠在URL
的任意地方唯一地引用它。Django
四、【 PyCharm
使用小技巧】
PyCharm
💎 使用 PyCharm
的工具運作 Django
項目
PyCharm
Django
- 啟用
支援:Django
Enable Django Support
- 菜單欄 - PyCharm - preference
- 如果是Windows或Linux,菜單欄 - File - Settings
- Languages & Frameworks - Django

- 編輯運作腳本
完成以上操作後,可以直接使用
PyCharm
工具直接運作
Django
項目。
而不需要每次都在指令行輸入
python manage.py runserver
。
🏅 總結
本文簡單介紹了建立
Django
項目和建立
Django app
。
以及使用
PyCharm
快捷的運作
Django
項目。