django 學習之虛擬環境

django 學習之虛擬環境

來自專欄碼起

這是「寫點 Python」的第 1 篇,也是「django 學習」第 1篇。

前言

關於學習 django,其實很早之前就開始接觸了,只不過那時候只是單純的學,並沒有記錄下來。之後打算每周至少更新一篇,主要是自己碰到的問題或者一些比較好玩的點。

這篇是虛擬環境以及一個簡單的學生管理系統

虛擬環境

不知道大家用的是不是 anaconda,反正我是。確實 anaconda 對於包管理很方便,不用去考慮那麼多,只需要一鍵安裝就可以了。但是吧,最近剛買了一門 django 的課,裡面的課程是用的 Python2,所以就想著在自己電腦上基於 Python2 裝個虛擬環境。

開始之前,輸入 conda env list,可以查看當前系統現有的環境

conda create-n py2 python==2.7,-n name,也就是基於 Python2.7 創建一個名為 py2 的環境 conda info--env,可以查看系統下環境的路徑, activate C:anaconda3envspy2.7,激活虛擬環境,後面那串就是我電腦上 Python2.7 的路徑

可以在開始菜單下的 Anaconda3 下的 Anaconda Navigigator 看到 Python 的環境

好了,接下來我們就可以基於 Py2 創建虛擬環境了

mkvirtualnev test 新建虛擬環境 pip install django==1.11.2 安裝 django

至此虛擬環境就裝好了

關於如何安裝 anacoda,可以大偉的這篇 anaconda

學員管理系統

需求

提供一個學院管理系統,一個前台頁面,展示現有學員,並供新學員提交申請,一個後台,能夠處理申請。

初始化環境

雖然可以不用創建虛擬環境,就可以直接創建。但是我還是建議在虛擬環境中安裝,因為在實際開發中,你可能不止維護一個項目,不同的項目依賴的環境也不同。

好了,選擇一個你喜歡的目錄,比如 cd C:Code 下:

  • django-admin startproject stu_manager # 創建項目
  • python manage.py startapp student # 創建應用

編寫代碼

我們可以在 model 層開始寫代碼,這是一個簡單的需求,只需要一個 model 就可以滿足了。

接下來編寫 admin.py

寫完這兩個配置,在 settings.py 中的 INSTALLED_APPS 中添加 studentsettings.py 文件:

好了,後台部分就完成了,我們來創建表以及超級用戶:

  • python manage.py makemigrations # 生成遷移文件
  • python manage.py migrate # 生成表
  • python manage.py createsuperuser # 創建超級用戶

啟動項目, python manage.py runserver,接著在瀏覽器輸入 http://127.0.0.1:8000/,會看到一個提示頁面。我們可以輸入 http://127.0.0.1:8000/admin 進入後台,就可以看到一個後台管理系統了。

基礎配置

前台編寫

首先我們需要編寫 forms.py,代碼如下:

接著編寫 views.py

最後在 templates 下新建一個 index.html:

說下幾個點:

  • StudentForm 中的 clean_<field> 表示自己定義某種方式來校驗該欄位;
  • classMeta 相當於一種映射(個人理解), fields 指定為 Student 模型類中的欄位,也就是我們在前台看到的欄位;
  • index 視圖,就是先判斷是否是 POST 請求,然後校驗,如果檢驗成功,那麼就新創建一個 student 對象,賦值,保存。然後重定向到主頁。

推薦閱讀:

Python+Matlab+機器學習+深度神經網路全套學習資料!
用 150 行 Python 代碼寫的量子計算模擬器
Selenium學習(22)判斷條件(2)
[python] dict內存是如何擴張的
「譯」Python 項目應該都有什麼?

TAG:Python | Django框架 |