天天看點

新手學習——用django搭建個人部落格_day1

1.項目建立

可以用指令行建立,也可以用IDE幫你建立。這裡推薦這樣的生态環境組合。anaconda給你提供和管理項目所需要的虛拟環境(也便于将來生成最小化的requirements進行環境部署docker依賴環境安裝),使用pycharm編輯器進行代碼編寫,django可以幫你快速建立項目運作項目等,但是還是建議你敲指令來熟悉django。

利用anaconda切換到你開發項目所準備python虛拟環境,可以看到在名為python34的環境下我這邊隻裝了一個Django包(其他都是預設裝的)。

新手學習——用django搭建個人部落格_day1

指令行建立django項目: django-admin startproject website website是你的項目名稱

新手學習——用django搭建個人部落格_day1

用pycharm打開目錄,簡單介紹下項目目錄下的内容。

新手學習——用django搭建個人部落格_day1

website是你整個項目的配置目錄,包括urls路由分發,settings設定(資料庫,靜态檔案,緩存等一系列配置),跟它同級的manage.py 顧名思義就是管理運作項目的腳本檔案。

項目建立完成了,當然是要驗證一下能否正常啟動了,django的項目啟動指令:

python manage.py runserver ip和端口,不寫預設是127.0.0.1:8000

新手學習——用django搭建個人部落格_day1

2. 應用建立

項目建立好以後,當然是要開發你的應用了,一個大型的項目肯定是要有多個應用的,先在指令行建立你的第一個應用(blog應用)。

python manage.py startapp blog

新手學習——用django搭建個人部落格_day1

應用建立以後記得在項目根目錄的settings下進行如下的配置(就是進行你的應用注冊,在執行python manage.py runserver時候,django的django.apps子產品讀取項目檔案中的settings.py拿到這幾個app,然後交給django.apps的registry.py和config.py來進行統一配置加載):

新手學習——用django搭建個人部落格_day1

django會自動為你的blog應用建立以下的檔案,models是你将來編寫對象資料模型的地方,views是視圖函數,主要負責将來你業務層代碼的編輯。将來還要建立templates也就是模闆層,這樣django完整的MVT開發模式就呈現在你眼前了。

新手學習——用django搭建個人部落格_day1

大白話來講MVT就是M管模型設計也就是你項目的資料對象啦;V管業務邏輯,業務邏輯的主體當然就是資料喽,邏輯有了資料也有了,剩下的T對應的就是給使用者展示和互動的html頁面了。

以上是開發模式角度來講MVT,那使用者在與我們的“産品”互動時到底發生了什麼?其實簡單的工作流是這樣的:

1.使用者觸發事件,比如你某電商網站買了一家店的一個商品(其實就是你平時點了個連結,圖檔什麼的)

2.對應的URL與項目URL比對了

3.django項目根據分發的url确定對應哪個views中的視圖函數,該視圖函數(業務邏輯)進行處理,會生成一個使用者訂單,相應的也生成了該使用者的一條訂單資料記錄(對應Models層使用者訂單對象的資料記錄多了一條),最後将該資料渲染給templates層對應的html模闆展示給使用者,這就大緻的一個工作流程。

(實際中業務邏輯和内容比描述的多很多)

希望新手們根據以上3點的總體思路來了解地去學習,而不是去死記。

3. 建立模闆

應用建立好後,為了展示web頁面,需要建立模闆檔案。建立模闆檔案之前需要進行一些前期配置;

settings中修改成漢語中國時區

新手學習——用django搭建個人部落格_day1

建立templates檔案夾,settings中修改模闆路徑

新手學習——用django搭建個人部落格_day1

(有人私信問,為什麼他建立的模闆總是報錯找不到…,可能這個學習教程真的太新手了,但是還是希望大家并不是隻是去根據這篇文去搭建自己部落格,現在肯定做不到去探究源碼畢竟完整部落格可能都沒有搭建過,但是至少應該知道每一步做的目的是什麼?)

上面說的templates檔案夾如果以上面配置的話,你需要在項目根目錄下建立。

新手學習——用django搭建個人部落格_day1

可以自己在settings中列印一下BASE_DIR是什麼,os的函數是什麼,這都是要用到的。

新手學習——用django搭建個人部落格_day1

在templates下建立我們需要展示的html檔案。

新手學習——用django搭建個人部落格_day1

現在為止MVT該有的檔案都有了,我們需要根據上面提到的三點工作流程來完成我們的“流水線”

4.流水線生産

要比對url,首先需要在項目級别的urls.py檔案中進行路由配置。

website/website/settings.py

新手學習——用django搭建個人部落格_day1

接着在應用級别配置urls,根據urls定位是哪個視圖函數的業務内容:

website/blog/urls:

新手學習——用django搭建個人部落格_day1

業務函數處理業務邏輯将最終結果組織起來渲染給模闆:

website/blog/views:

新手學習——用django搭建個人部落格_day1

最後在模闆的index.html檔案中接收視圖函數處理後的結果:

新手學習——用django搭建個人部落格_day1

結果展示:

新手學習——用django搭建個人部落格_day1

基本就是以上的工作思路:

url編寫配置==》定位視圖函數==》視圖函數編寫業務邏輯==》前端頁面模闆接收參數。

git連接配接:https://github.com/syjzlee/Django-website-days

以日掌握量為機關更新

下期暫定:

1.模型設計

2.使用mysql資料庫

3.建立超級管理者

4.父類模闆