
- Django 基本概念
- Django - 主頁
- Django - 基礎
- Django - 概述
- Django - 環境
- Django - 建立專案
- Django - 應用生命週期
- Django - 建立檢視
- Django - URL 對映
- Django - 首頁
- Django - 模板系統
- Django - MVT
- Django - 新增主模板
- Django 管理員
- Django 管理員 - 介面
- Django 管理員 - 建立使用者
- Django 管理員 - 包含模型
- Django 管理員 - 設定顯示欄位
- Django 管理員 - 更新物件
- Django 模型
- Django - 模型
- Django - 插入資料
- Django - 更新資料
- Django - 刪除資料
- Django - 更新模型
- Django 靜態檔案
- Django - 新增靜態檔案
- Django - 新增 CSS 檔案
- Django 高階
- Django - 頁面未找到 (404)
- Django - 頁面重定向
- Django - 傳送電子郵件
- Django - 通用檢視
- Django - 表單處理
- Django - 檔案上傳
- Django - Apache 設定
- Django - Cookie 處理
- Django - 會話
- Django - 快取
- Django - 評論
- Django - RSS
- Django - AJAX
- Django 有用資源
- Django - 快速指南
- Django - 有用資源
- Django - 討論
Django - 首頁
當使用startproject 命令建立一個新的 Django 專案時,URL https://:8000/ 會顯示一個預設的索引頁面。這表明 Django 安裝已成功完成。
使用以下命令建立專案:
django-admin startproject myproject
現在您的專案已建立並配置,請確保它正常工作:
python manage.py runserver
執行上述命令後,您將在螢幕上看到類似以下內容:
Validating models... 0 errors found March 09, 2022 - 12:24:26 Django version 4.0, using settings 'myproject.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.Quit the server with CONTROL-C.
開發伺服器正在運行於http://127.0.0.1:8000/。在瀏覽器中開啟此連結。

在主“myproject”資料夾中,使用manage.py命令:
python manage.py startapp myapp
您剛剛建立了myapp應用程式。Django 還建立了一個包含應用程式結構的“myapp”資料夾:
myapp/ __init__.py admin.py models.py tests.py views.py
- __init__.py - 確保 Python 將此資料夾視為一個包。
- admin.py - 此檔案可幫助您在管理員介面中修改應用。
- models.py - 這是儲存所有應用程式模型的地方。
- tests.py - 這是放置單元測試的地方。
- views.py - 這是放置應用程式檢視的地方。
更新專案settings.py檔案中的INSTALLED_APPS列表(新增您的應用名稱):
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp',]
我們將在myapp中建立一個簡單的檢視,顯示“歡迎使用我的應用!”。
開啟“myapp\views.py”並新增以下檢視函式:
from django.shortcuts import render # Create your views here. def index(request): # other view code here return render(request, index.html', {})
在此檢視中,我們使用HttpResponse呈現 HTML 頁面。要將此檢視顯示為頁面,我們只需要將其對映到一個 URL。
將以下 Python 指令碼另存為myapp/urls.py:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
下一步是將根URLconf指向myapp.urls模組。
在myproject/urls.py中,新增django.urls.include的匯入並插入urlpatterns列表中的include(),這樣您將擁有:
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('', include('myapp.urls')), path('admin/', admin.site.urls), ]
現在執行 Django 開發伺服器:
python manage.py runserver
訪問以下 URL 以驗證是否呈現了hello() 檢視:
https://:8000/
您應該能夠看到索引頁面的輸出。
具有多個應用的 Django 主頁
但是,一個 Django 專案可能包含多個應用。因此,專案主頁應包含指向各個應用主頁的連結。
讓我們在當前的 Django 專案中建立兩個應用:
python manage.py startapp customers
以及:
python manage.py startapp products
重寫專案的索引頁面為:
<!Doctype html> <html> <body> <!--header--> <div style="height:10%;"> <h2 align="center">My Web Application</h2> <hr> </div> <div style="width:100%;"> <!—side bar--> <div style="width:20%; float:left; border-right-style:groove"> <ul> <b> <li><a href="admin/">Admin</a></li> <li><a href="customers/">Customers</a></li> <li><a href="Products/">Products</a></li> </b> </ul> </div> <!--contents--> <div style="margin-left:21%;"> <p> <h2 align="center">Main Index Page</h2> </p> </div> </div> <br><br><br> <!--footer--> <hr> <div> <h4 align="right">All rights reserved</h4> </div> </body> </html>
客戶應用的索引頁面應儲存在 templates 目錄中。它由 customers/views.py 檔案中的檢視呈現:
from django.shortcuts import render # Create your views here. def index(request): return render(request, "customerindex.html", {})
類似地,產品應用的索引頁面已建立,其對映檢視在“products/views.py”檔案中定義:
from django.shortcuts import render # Create your views here. def index(request): return render(request, "productindex.html", {})
您還需要為每個應用定義urlpattern列表,如下所示:
from django.urls import path from . import views urlpatterns = [ path("", views.index, name="customer-index"), ]
同樣,對products應用執行以下操作:
from django.urls import path from . import views urlpatterns = [ path("", views.index, name="product-index"), ]
更新myproject/urls.py檔案的 URLCONF:
from django.contrib import admin from django.urls import path, include from . import views urlpatterns = [ path('admin/', admin.site.urls), path('products/', include("products.urls")), path('customers/', include("customers.urls")), path('', views.index, name='index'), ]
執行 Django 伺服器並訪問 Django 專案的根 URL(https://:8000/):
