新手學習——用django搭建個人博客_day1

1.項目創建

可以用命令行創建,也可以用IDE幫你創建。這裏推薦這樣的生態環境組合。anaconda給你提供和管理項目所需要的虛擬環境(也便於將來生成最小化的requirements進行環境部署docker依賴環境安裝),使用pycharm編輯器進行代碼編寫,django可以幫你快速創建項目運行項目等,但是還是建議你敲命令來熟悉django。
利用anaconda切換到你開發項目所準備python虛擬環境,可以看到在名爲python34的環境下我這邊只裝了一個Django包(其他都是默認裝的)。anaconda的環境以及django所在虛擬環境安裝的包
命令行創建django項目: django-admin startproject website website是你的項目名稱
django-admin 命令創建django項目
用pycharm打開目錄,簡單介紹下項目目錄下的內容。
項目目錄
website是你整個項目的配置目錄,包括urls路由分發,settings設置(數據庫,靜態文件,緩存等一系列配置),跟它同級的manage.py 顧名思義就是管理運行項目的腳本文件。

項目創建完成了,當然是要驗證一下能否正常啓動了,django的項目啓動命令:
python manage.py runserver ip和端口,不寫默認是127.0.0.1:8000
項目啓動

2. 應用創建

項目創建好以後,當然是要開發你的應用了,一個大型的項目肯定是要有多個應用的,先在命令行創建你的第一個應用(blog應用)。
python manage.py startapp blog
在這裏插入圖片描述
應用創建以後記得在項目根目錄的settings下進行如下的配置(就是進行你的應用註冊,在執行python manage.py runserver時候,django的django.apps模塊讀取項目文件中的settings.py拿到這幾個app,然後交給django.apps的registry.py和config.py來進行統一配置加載):
在這裏插入圖片描述
django會自動爲你的blog應用創建以下的文件,models是你將來編寫對象數據模型的地方,views是視圖函數,主要負責將來你業務層代碼的編輯。將來還要建立templates也就是模板層,這樣django完整的MVT開發模式就呈現在你眼前了。
應用目錄
大白話來講MVT就是M管模型設計也就是你項目的數據對象啦;V管業務邏輯,業務邏輯的主體當然就是數據嘍,邏輯有了數據也有了,剩下的T對應的就是給用戶展示和交互的html頁面了。
以上是開發模式角度來講MVT,那用戶在與我們的“產品”交互時到底發生了什麼?其實簡單的工作流是這樣的:
1.用戶觸發事件,比如你某電商網站買了一家店的一個商品(其實就是你平時點了個鏈接,圖片什麼的)
2.對應的URL與項目URL匹配了
3.django項目根據分發的url確定對應哪個views中的視圖函數,該視圖函數(業務邏輯)進行處理,會生成一個用戶訂單,相應的也生成了該用戶的一條訂單數據記錄(對應Models層用戶訂單對象的數據記錄多了一條),最後將該數據渲染給templates層對應的html模板展示給用戶,這就大致的一個工作流程。
(實際中業務邏輯和內容比描述的多很多)
希望新手們根據以上3點的總體思路來理解地去學習,而不是去死記。

3. 建立模板

應用創建好後,爲了展示web頁面,需要新建模板文件。建立模板文件之前需要進行一些前期配置;

settings中修改成漢語中國時區
在這裏插入圖片描述

新建templates文件夾,settings中修改模板路徑
在這裏插入圖片描述
(有人私信問,爲什麼他新建的模板總是報錯找不到…,可能這個學習教程真的太新手了,但是還是希望大家並不是只是去根據這篇文去搭建自己博客,現在肯定做不到去探究源碼畢竟完整博客可能都沒有搭建過,但是至少應該知道每一步做的目的是什麼?)
上面說的templates文件夾如果以上面配置的話,你需要在項目根目錄下創建。
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190924142859342.png
可以自己在settings中打印一下BASE_DIR是什麼,os的函數是什麼,這都是要用到的。
在這裏插入圖片描述
在templates下創建我們需要展示的html文件。
在這裏插入圖片描述
現在爲止MVT該有的文件都有了,我們需要根據上面提到的三點工作流程來完成我們的“流水線”

4.流水線生產

要匹配url,首先需要在項目級別的urls.py文件中進行路由配置。
website/website/settings.py
在這裏插入圖片描述
接着在應用級別配置urls,根據urls定位是哪個視圖函數的業務內容:
website/blog/urls:
在這裏插入圖片描述
業務函數處理業務邏輯將最終結果組織起來渲染給模板:
website/blog/views:
在這裏插入圖片描述
最後在模板的index.html文件中接收視圖函數處理後的結果:
在這裏插入圖片描述
結果展示:在這裏插入圖片描述
基本就是以上的工作思路:
url編寫配置==》定位視圖函數==》視圖函數編寫業務邏輯==》前端頁面模板接收參數。

git連接:https://github.com/syjzlee/Django-website-days
以日掌握量爲單位更新

下期暫定:
1.模型設計
2.使用mysql數據庫
3.創建超級管理員
4.父類模板

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章