Django安裝及建立工程

Django MTV模型介紹

Django的MTV分別表明:

       Model(模型):負責業務對象與數據庫的對象(ORM)html

       Template(模版):負責如何把頁面展現給用戶python

       View(視圖):負責業務邏輯,並在適當的時候調用Model和Templateweb

       此外,Django還有一個urls分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Templateshell

Django基本命令

下載安裝Django,到python安裝目錄下面的Scripts目錄
C:\>cd C:\Users\lenovo\AppData\Local\Programs\Python\Python36\Scripts
C:\Users\lenovo\AppData\Local\Programs\Python\Python36\Scripts>pip3 install django
添加環境變量

 

 建立一個新的Django項目
D:\>django-admin startproject mysite
 當前目錄下會生成mysite的工程,目錄結構以下

mysite:這個纔是工程的包名。
__init__.py:代表mysite是一個包。
manage.py : Django項目裏面的工具,經過它能夠調用django shell和數據庫等,在manage.py的同級目錄使用python manage.py 能夠看到可使用的命令列表。
settings.py :Django的配置文件,包含了項目的默認設置,包括數據庫信息,調試標誌以及其餘一些工做的變量。
urls.py :負責把URL模式映射到應用程序。
wsgi.py:WSGI是web server gateway interface,這個文件是使project符合這種協議的入口點(entry-point)

啓動django項目

在manage.py的同級目錄下運行這個命令就能夠看到如下內容
D:\mysite>python3 manage.py runserver 8080
Performing system checks...

System check identified no issues (0 silenced).
......
Starting development server at http://127.0.0.1:8080/
Quit the server with CTRL-BREAK.
這樣咱們的django就啓動起來了!當咱們訪問:http://127.0.0.1:8080/時就能夠看到

Django自帶了一個開發服務器,便於開發使用(Django官方強調不能用做生產環境),默認端口號是8000,若是想運行在別的端口號,如下面的方式運行便可,好比:9000
python manage.py runserver 9000
# 在局域網內其餘電腦上訪問你的站點
python manage.py runserver 0.0.0.0:9000

按Ctrl C中止服務器數據庫

新建app

一個project能夠又多個app,一個app能夠同時屬於多個project。經過如下命令建立一個app(在project目錄下)
D:\mysite\>django-admin startapp blog
建立app後的目錄結構,由於Django會自動建立一系列文件,咱們須要明白每一個爲文件的做用

blog:app的根目錄
admin.py:Django自帶了一個管理界面,這個文件能夠註冊model在界面中管理
__init__.py:代表polls也是一個包
migrations:用來初始化數據庫,在執行python manage.py makemigrations 的時候會自動生成一個文件在這裏
__init__.py:代表migrations也是一個包
models.py:在這個文件裏面定義model類
tests.py:寫測試代碼
views.py:視圖,Django映射urls.py裏面的url的時候,在views.py裏面查找對應的處理方法
在PyCham下面建立工程及app方法 以下

建立完目錄結構以下

實現簡單的login登錄功能

在urls.py裏面添加url login和valide

寫一個簡單的login.html測試頁面

 在views.py裏面添加登錄和驗證的函數方法,方法名稱要和urls.py裏面對應

 

重啓服務

輸入正確的用戶名密碼登錄測試

返回驗證成功

 輸入錯誤的用戶名密碼登錄測試

 

若是是post請求,訪問會出現403錯誤,能夠把setting裏面的csrf選項關閉,csrf要求身份驗證,防止跨站攻擊。

這裏就用Django實現了簡單的web登錄驗證功能,在真正使用的時候用戶身份驗證要結合數據庫。
相關文章
相關標籤/搜索