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
中添加 student
, settings.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 項目應該都有什麼?