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
對項目環境進行管理。
相關poetry
的安裝與使用,請參考【Python - 虛擬環境】項目的啟動,從隔離開發環境開始 - CoderChaos - 博客園 (cnblogs.com)
項目地址:https://github.com/CoderBerryRabbit/MeetDjango
MacbookPro M1
PyCharm
3.9.x
3.2.x
poetry
poetry add [email protected]^3.2.13
Django
版本python -m django --version
# 或
django-admin --version
Django
版本和Python
版本對照表Django
版本Python
版本Django
項目django-admin startproject mysite
說明:
django-admin startproject
:創建項目的命令mysite
:創建項目的名稱(自定義)查看startproject
創建的目錄
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
目錄說明:
manage.py
:命令執行程序,以各種方式與此Django
項目進行交互。mysite/settings.py
:Django
項目的設置/配置。mysite/urls.py
:Django
項目的URL
聲明。mysite/asgi.py
:ASGI
Web 服務器入口。mysite/wsgi.py
:WSGI
Web 服務器入口。注意:創建項目時,命名需要避免python內置包和Django組件名
# 在 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
。
polls
應用# 在 manage.py 同目錄下打開終端
python manage.py startapp polls
# 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
的工具運行Django
項目Django
支持:Enable Django Support
完成以上操作後,可以直接使用PyCharm
工具直接運行Django
項目。
而不需要每次都在命令行輸入python manage.py runserver
。
本文簡單介紹了創建Django
項目和創建Django app
。
以及使用PyCharm
快捷的運行Django
項目。