Django開發基礎--創建項目/應用


 環境:

1、python  3.6.2

2、安裝django:pip install django==1.10.3

 

*下面以開發一個簡單的用戶簽到系統介紹Django的使用

 

創建Django項目:

命令行創建django項目步驟:

A django-admin startproject guest(project名)

B 進入guest目錄

C python3 manage.py startapp sign(創建APP,多次執行會生成多個app)

用PyCharm打開guest目錄,目錄結構如下圖:

目錄說明:

guest: 項目的容器。

manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。

guest/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。

guest/settings.py: 全局配置文件;包括Django 模塊應用配置,數據庫配置,模板配置等。

guest/urls.py: 路由配置文件。

guest/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

 

migrations/:用於記錄 models 中數據的變更。

admin.py:映射 models 中的數據到 Django 自帶的 admin 后台。

apps.py:在新的 Django 版本中新增,用於應用程序的配置。

models.py:創建應用程序數據表模型(對應數據庫的相關操作)。

tests.py:創建 Django 測試。

views.py:控制向前端顯示哪些數據。

 

接下來,進入guest目錄輸入以下命令,啟動服務器:

python3 manage.py runserver

Django 默認會通過本機的 8000 端口來啟動項目,如果你的當前環境該端口號被占用了,也可以在啟動時指定 IP 地址和端口號。

python3 manage.py runserver 127.0.0.1:8001

打開瀏覽器,訪問:http://127.0.0.1:8001

看到以上頁面,說明Django已經開始工作了。

環境已經就緒,下面進入真正的項目應用開發過程

1、配置一下 guest/settings.py 文件,將 sign 應用添加到項目中。

2、打開 guest/urls.py 文件添加用戶登錄頁面的路由。

3、打開../sign/views.py 文件創建 index 函數。

定義 index 函數,並通過 HttpResponse 類向頁面返回字符串“Hello django”。 HttpResponse 類存在 django.http.HttpResponse 中,以字符串的形式傳遞給前端頁面數據。

4、啟動django執行程序

A、pycharm下可直接啟動

B、命令行執行:python manage.py runserver 127.0.0.1:8001

訪問127.0.0.1:8001/index

5、使用模板(Templates)

現在用 HTML 頁面來替代“Hello django”字符串,那么處理方式也會有所不同。

在應用 sign/目錄下創建 templates/index.html 文件。

修改視圖文件 views.py,這里拋棄 HttpResponse 類,轉而使用 Django 的 render 函數。該函數的第一個參數是請求對象的,第二個參 數返回一個 index.html 頁面

再次訪問127.0.0.1:8001/index,效果如下圖

 總結一下,Django的工作流可以概括成下圖:

需要說明的是,這個處理流程並非 Django 的完整處理過程,其中最主要的就是缺失了數據層(model) 的操作。

我理解views文件在Django中非常重要,它是連接頁面與數據的中間紐帶。拿登錄的例子來講,用戶在頁面上輸入了用戶名和密碼點擊登錄。那么 request 請求會由視圖層views來接收,如何提取出用戶名和密碼的數據,如何用這些數據去查詢數據庫,再如何將登錄成功的頁面返回給用戶,這些全部由視圖層views來完成。

 

與大多數的Web端開發框架一樣,Django開發同樣使用MVC模式

M ,數據存取部分,由 Django 數據庫層處理,本章要講述的內容。

V ,選擇顯示哪些數據要顯示以及怎樣顯示的部分,由視圖和模板處理。

C ,根據用戶輸入委派視圖的部分,由 Django 框架根據 URLconf 設置,對給定 URL 調用適當的 Python 函數。

 

由於 C 由框架自行處理,而 Django 里更關注的是模型(Model)、模板(Template)和視圖(Views), Django 也被稱為 MTV 框架

在 MTV 開發模式中:

M 代表模型(Model),即數據存取層。 該層處理與數據相關的所有事務: 如何存取、如何驗證有效

T 代表模板(Template),即表現層。 該層處理與表現相關的決定: 如何在頁面或其他類型文檔中進行顯 示。

V 代表視圖(View),即業務邏輯層。 該層包含存取模型及調取恰當模板的相關邏輯。 你可以把它看 作模型與模板之間的橋梁。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM