创建一个 Django 项目
一、 創建項目
其中:
?
確認項目是否創建成功:
在 manage.py 目錄上運行 python manage.py runserver
server 啟動后,在瀏覽器訪問 http://127.0.0.1:8000,能正常打開網頁表示項目建立成功。
注意:
二、 創建應用
應用和項目有什么區別?應用是一個專門做某件事情的網絡應用程序——比如博客系統等。項目則是一個網站使用的配置和應用的集合。項目可以包含很多個應用,應用也可以被很多個項目使用。我們以一個簡單的圖書-英雄的應用為例,簡單走一遍 Django 開發的流程。
首先在 manage.py 同級目錄下創建圖書應用,命令如下:
python manage.py startapp booktest
創建之后便可在 manage.py 同級目錄下看到一個名為 booktest 的目錄,其中包含一些預先設置的 py 文件。
booktest 應用的設計:
三、 編寫模型——Model
模型(Model)負責與數據庫相關的操作。
默認數據庫是 sqlite,可以通過修改 settings.py 來改變默認數據庫。
step1:編寫模型類
定義模型類的目的包括:
1. 根據模型類的定義生成 sql 語句,并創建數據庫表
2. 根據模型類生成對象,將對對象的各種操作映射到數據庫中表格內容的變化(增刪改查)
django 2.0中:
hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE)
step2:生成數據庫表
step3: 測試數據
step4: 關聯對象的操作
四、 創建后臺管理站點——Admin
一般一個站點分為“內容發布”和“公共訪問”兩部分。內容發布的部分負責添加、修改、刪除內容,開發這些重復的功能是一件單調乏味、缺乏創造力的工
作。為此,Django 會根據定義的模型類完全自動的生成管理模塊
step1:創建一個管理員用戶
運行命令: python manage.py createsuperuser
根據提示輸入用戶名,郵箱以及密碼啟動服務器,訪問 http://127.0.0.1:8000/admin,輸入用戶名、密碼即可進入管理站點,,默認可以對 groups、
users 進行管理。
step2: 管理界面本地化
編輯 settings.py,設置語言和時區
step3: 向 admin 注冊 booktest 的模型,以便對其進行管理
step4: 自定義管理界面
列表頁的定制:
添加、修改頁的定制:
五、 編寫視圖——View
視圖對 web 請求進行回應。視圖的本質是一個函數,定義在 views.py 中。它接收request 對象作為第一個參數,request 中包含了請求的信息。
step1: 編寫視圖函數
step2: 配置 URL 路由
用戶的請求到達服務器后,Django 使用正則表達式匹配請求的 URL,先去項目下的urls.py 中進行匹配,找到二級路由繼續進行匹配,一旦匹配成功,則調用相應的視圖。
注意:只匹配路徑部分,即除去域名、參數等
1. 在項目(mysite)的 urls.py 中配置 bookset 的 urls 的路由
2. 在 bookset 的 urls.py 中調用視圖
啟動 server,訪問 http://127.0.0.1:8000 便可看到 index 函數中的輸出信息。
注意: Django2.0 開始路由的配置發生了變化,開始使用 path()函數,但它依然向老版本兼容。而這個兼容的辦法,就是用 re_path()方法代替
path()方法。re_path()方法在骨子里,根本就是以前的 url()方法。
后面的章節中,你只需要使用 from django.urls import re_path 正確導入 re_path()方法,并用它替換 url()方法就可以了。
六、 編寫模板——Template
模板是 html 頁面,可以根據視圖中傳遞的數據填充值。
step1: 創建 templates 目錄
在項目目錄下創建 templates 目錄,并在 templates 目錄中繼續創建 booktest 目錄。templates 下可以添加多個模板,以應用為單位進行組織。
step2: 修改 settings.py 文件,設置 TEMPLATES 的 DIRS 值
step3: 定義 index.html
在 templates\booktest 下創建 index.html
step4:編輯 views.py,在方法中調用模板
?
這時,啟動 server,訪問 127.0.0.1:8000 便可看到 index.html 顯示的內容
step5: 在模板中顯示數據
視圖(V)從模型(M)中獲得數據,通過上下文傳遞給模板(T),模板進行處理。
在 views.py 的 index 方法中改寫:
在 index.html 中接收傳進的 context,并做處理。
在模板中訪問視圖傳遞的數據的兩種方式:
1.{{輸出值}} , 該輸出值可以是變量,也可以是對象.屬性
2.{%執行代碼段%}
運行 server,便可看到 book 的名字信息。
七、 總結
流程:
? 1.設計
? 模型類(數據表,字段,類型)
? 視圖中的方法
? 視圖中方法對應的 url,url 路由
? 2.編寫模型,使用簡單 API 與數據庫交互
? 3.使用 Django 的后臺管理功能維護數據
? 4.編寫視圖,接收用戶請求,通過模型獲得數據,并將數據傳遞給模板
? 5.調用模板,接收并處理視圖傳遞的數據,最終呈現給用戶
轉載于:https://www.cnblogs.com/sunBinary/p/10424311.html
總結
以上是生活随笔為你收集整理的创建一个 Django 项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决manjaro更新后pacman:
- 下一篇: 寒假与春节终归,新学期和新任务又至