欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python之Web框架Django項目搭建全過程

 更新時間:2017年05月02日 14:40:37   作者:孫華強  
這篇文章主要介紹了Python之Web框架Django項目搭建全過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Python之Web框架Django項目搭建全過程

IDE說明:

  1. Win7系統(tǒng)
  2. Python:3.5
  3. Django:1.10
  4. Pymysql:0.7.10
  5. Mysql:5.5

注:可通過pip freeze查看已安裝庫版本信息。

Django 是由 Python 開發(fā)的一個免費的開源網(wǎng)站框架,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站!

Django 特點

  1. 強大的數(shù)據(jù)庫功能
  2. 用python的類繼承,幾行代碼就可以擁有一個豐富,動態(tài)的數(shù)據(jù)庫操作接口(API),如果需要你也能執(zhí)行SQL語句。
  3. 自帶的強大的后臺功能
  4. 幾行簡單的代碼就讓你的網(wǎng)站擁有一個強大的后臺,輕松管理你的內(nèi)容! 優(yōu)雅的網(wǎng)址
  5. 用正則匹配網(wǎng)址,傳遞到對應(yīng)函數(shù),隨意定義,如你所想!
  6. 模板系統(tǒng)–強大,易擴展的模板系統(tǒng),設(shè)計簡易,代碼,樣式分開設(shè)計,更容易管理。
  7. 緩存系統(tǒng)–與memcached或其它的緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn),更快的加載速度。
  8. 國際化–完全支持多語言應(yīng)用,允許你定義翻譯的字符,輕松翻譯成不同國家的語言。

有關(guān)Python,MySQL的安裝操作這里不再進行闡述,大家可在網(wǎng)絡(luò)上自行查找解決。其中,django,pymysql的安裝使用pip install *命令即可完成。

安裝好Django之后, 就可以使用 django-admin.py管理工具來創(chuàng)建一個項目。首先我們來看下django-admin.py的命令介紹,在命令行輸入django-admin.py查看可用的項目管理命令。

這里寫圖片描述 

Django項目創(chuàng)建HelloWorld項目具體過程如下:

Step1: 在搭建Django項目之前,首先選擇項目存放目錄。然后在Dos窗口CD切換到項目存放目錄。

Step2: 創(chuàng)建項目 執(zhí)行django-admin.py startproject HelloWorld

打開IDEA,可看到創(chuàng)建的項目目錄如下圖所示:

這里寫圖片描述 

目錄說明:

  1. HelloWorld: 項目的容器。
  2. manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
  3. HelloWorld/init.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。
  4. HelloWorld/settings.py: 該 Django 項目的設(shè)置/配置。
  5. HelloWorld/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅(qū)動的網(wǎng)站”目錄”。
  6. HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務(wù)器的入口,以便運行你的項目。

接下來我們進入 HelloWorld 目錄輸入以下命令,啟動服務(wù)器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 讓其它電腦可連接到開發(fā)服務(wù)器,8000 為端口號。如果不說明,那么端口號默認為 8000。

在瀏覽器輸入你服務(wù)器的ip及端口號,如果正常啟動,輸出結(jié)果如下:

這里寫圖片描述 

Step3: 創(chuàng)建應(yīng)用 在命令行輸入django-admin.py startapp demo

打開IDEA,可看到創(chuàng)建的項目目錄如下圖所示:

這里寫圖片描述 

目錄說明:

  1. demo: 應(yīng)用的容器。注:后面的頁面設(shè)計文件,在此目錄下創(chuàng)建目錄templates,名為XX.html的文件放在此處。
  2. init.py:如上一個init.py文件
  3. migrations: 數(shù)據(jù)庫相關(guān)目錄,同步數(shù)據(jù)庫之后會出現(xiàn)數(shù)據(jù)類。
  4. admin.py: admin后臺管理文件
  5. apps.py: app應(yīng)用管理文件
  6. models.py:主要用一個 Python 類來描述數(shù)據(jù)表,稱為模型(model) 。運用這個類,你可以通過簡單的 Python的代碼來創(chuàng)建、檢索、更新、刪除 數(shù)據(jù)庫中的記錄而無需寫一條又一條的SQL語句。
  7. tests.py:測試文件
  8. views.py:包含了頁面的業(yè)務(wù)邏輯。

創(chuàng)建超級管理員

python manage.py createsuperuser

# 按照提示輸入用戶名和對應(yīng)的密碼就好了郵箱可以留空,用戶名和密碼必填

# 修改 用戶密碼可以用:
python manage.py changepassword username

服務(wù)端響應(yīng)客戶端請求過程

流程圖如下:

這里寫圖片描述 

上面的流程圖可以大致描述Django處理request的流程,按照流程圖2的標注,可以分為以下幾個步驟:

1.用戶通過瀏覽器請求一個頁面。

2.請求到達Request Middlewares,中間件對request做一些預(yù)處理或者直接response請求。

3.URLConf通過urls.py文件和請求的URL找到相應(yīng)的View。

4.View Middlewares被訪問,它同樣可以對request做一些處理或者直接返回response。

5.調(diào)用View中的函數(shù)。

6.View中的方法可以選擇性的通過Models訪問底層的數(shù)據(jù)。

7.所有的Model-to-DB的交互都是通過manager完成的。

8.如果需要,Views可以使用一個特殊的Context。

9.Context被傳給Template用來生成頁面。

a.Template使用Filters和Tags去渲染輸出

b.輸出被返回到View

c.HTTPResponse被發(fā)送到Response Middlewares

d.任何Response Middlewares都可以豐富response或者返回一個完全不同的response

e.Response返回到瀏覽器,呈現(xiàn)給用戶

url() 函數(shù)

Django url() 可以接收四個參數(shù),分別是兩個必選參數(shù):regex、view 和兩個可選參數(shù):kwargs、name,接下來詳細介紹這四個參數(shù)。

  1. regex: 正則表達式,與之匹配的 URL 會執(zhí)行對應(yīng)的第二個參數(shù) view。
  2. view: 用于執(zhí)行與正則表達式匹配的 URL 請求。
  3. kwargs: 視圖使用的字典類型的參數(shù)。
  4. name: 用來反向獲取 URL。

Django項目部署

在前面的介紹中我們使用 python manage.py runserver 來運行服務(wù)器。這只適用測試環(huán)境中使用。
正式發(fā)布的服務(wù),我們需要一個可以穩(wěn)定而持續(xù)的服務(wù)器,比如apache, Nginx, lighttpd等,本文后續(xù)將以 Nginx 為例。

設(shè)置用自己的iP地址訪問項目

1.首先需要執(zhí)行>manage.py runserver 0.0.0.0:8000。

2.在setting.py里面需要添加ALLOWED_HOSTS=”*”。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用PyCharm安裝pytest及requests的問題

    使用PyCharm安裝pytest及requests的問題

    這篇文章主要介紹了使用PyCharm安裝pytest及requests的相關(guān)資料,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 關(guān)于Python中的空值問題及解決

    關(guān)于Python中的空值問題及解決

    這篇文章主要介紹了關(guān)于Python中的空值問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python簡單的制作圖片驗證碼實例

    Python簡單的制作圖片驗證碼實例

    本篇文章主要介紹了Python簡單的制作圖片驗證碼實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解

    Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解

    這篇文章主要介紹了Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用的相關(guān)知識,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • python怎么判斷模塊安裝完成

    python怎么判斷模塊安裝完成

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python如何判斷模塊是否安裝的技術(shù)文章,有興趣的朋友們可以參考下。
    2020-06-06
  • Python修改DBF文件指定列

    Python修改DBF文件指定列

    這篇文章主要介紹了Python修改DBF文件指定列的實現(xiàn),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 詳解Python如何循環(huán)遍歷Numpy中的Array

    詳解Python如何循環(huán)遍歷Numpy中的Array

    Numpy是Python中常見的數(shù)據(jù)處理庫,是數(shù)據(jù)科學中經(jīng)常使用的庫。在本文中,我們將學習如何迭代遍歷訪問矩陣中的元素,需要的可以參考一下
    2022-04-04
  • Python獲取Excel文件行數(shù)的方法

    Python獲取Excel文件行數(shù)的方法

    在數(shù)據(jù)分析和自動化辦公領(lǐng)域,Python 因其簡潔的語法和強大的庫支持而廣受歡迎,特別是當涉及到處理 Excel 文件時,Python 提供了多種庫來簡化這一過程,本文給大家介紹了如何使用Python獲取 Excel 文件的行數(shù),感興趣的小伙伴跟著小編一起來看看吧
    2024-09-09
  • Python中的字典到底是有序的嗎

    Python中的字典到底是有序的嗎

    很多人會問Python中的字典到底是有序的嗎,本文就詳細的來介紹一下,感興趣的可以了解一下
    2021-09-09
  • Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的方法分享

    Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的方法分享

    這篇文章主要為大家詳細介紹了Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的幾種方法,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-01-01

最新評論