1. 程式人生 > >Django框架工作流程(Python)

Django框架工作流程(Python)

這裡寫圖片描述

  • 1、瀏覽器傳送請求request給web伺服器;

  • 2、web伺服器將請求轉發給Django框架處理;
    (Django接收到第一個請求,會呼叫中介軟體的__init__方法,完成中介軟體的初始化)

  • 3、處理請求前呼叫proces_request(request),返回None或HttpResponse物件;

  • 4、通過URLconf匹配,確認請求由哪個檢視處理;

  • 5、process_view(request,view_func,view_args,view_kwargs)在處理檢視前呼叫,返回None或HttpResponse物件;

  • 6、檢視接收到resquest;

    (1) 通過模型model與資料庫互動,獲取並處理資料,Model內嵌ORM框架,實現面向物件來操作資料庫;
    (2) 模板引擎,實現動態展示資料,返回HttpResponse物件或者JsonResponse物件。

  • 7、檢視處理響應後返回response,所有的response(包括process_request和process_view返回的response)在返回給Django前都會呼叫process_response(request,response),返回HttpResponse物件,除非做了特殊處理。

    (如果檢視丟擲異常,在每個請求上呼叫precess_exception(request,exception),返回None或HttpResponse物件。)

相關推薦

Django框架工作流程Python

1、瀏覽器傳送請求request給web伺服器; 2、web伺服器將請求轉發給Django框架處理; (Django接收到第一個請求,會呼叫中介軟體的__init__方法,完成中介軟體的初始化

Django框架電商網站開發流程Python

一、配置 1 建立專案和應用 配置專案setting.py(應用,templates路徑,資料庫,STATICFILES_DIRS) 配置專案urls.py,namespace起名最好和應用名一樣,不容易混淆 2 配置應用 在每個

TypeScript自動化工作流程

自動化任務工具 自動化任務工具是用來自動化地執行開發過程中需要重複進行的任務。這些任務包括編譯TS檔案、壓縮JS檔案等等。目前較為流行的兩個JavaScript自動化工具分別是Grunt和Gulp。 Grunt的外掛數相對較多,在Grunt中,我們使用檔案作

Linux驅動學習筆記----------IIC框架流程

歷時一個月期末課程設計終於結束了!發現好多東西忘記了,iic流程也有些淡忘,有點慌,夜深人靜的時候就整理下吧!還有,杭州最近熱的我腦袋都不好用了! 關於iic: 1.是一種資料傳輸協議(spi,usb,sdio,uart…)

web框架的原理以及web框架的實現python

在學習了動態伺服器的實現之後(wsgi),便引入了web框架。 何為web框架?其實就相當於人的骨架一樣,有了框架之後我們便可以往裡面新增肉,新增各種需要新增的,由此而組成了一個人。而web也是如此,我們希望使用者可以直接往框架裡新增功能,同時不用去管怎樣處理

JBPM工作——管理流程定義

-1 exc xml文件 put gety tar from art 沒有 概念: ProcessDefinition,流程定義:一個流程的步驟說明,如一個請假流程、報銷流程、是一個規則。 ProcessDefinition,流程定義對象,是解析.jpdl.xml文件得到流

python--Django之模板層template

cat spa 後臺 數據 htm title 開始 temp document 1.模板層的功能 為了更有邏輯的將數據庫中的數據渲染到模板中。 2.模板語法: {{var_name}} #渲染變量用的 {% url %} #渲染標簽用的 3.變量

SeleniumPython頁面對象+數據驅動測試框架

cat loader arc .get object cas utf-8 with stc 整個工程的目錄結構: 常用方法類: class SeleniumMethod(object): # 封裝Selenium常用方法 def __init__

Django流程2

切換到建立專案的目錄 cd C:\Users\admin\Desktop\DjangoProject 建立名為project的專案命令 django-admin startproject project 注:所有路徑不要有中文 切換到目錄cd C:\U

python程式設計:從入門到實踐學習筆記-Django開發使用者賬戶

讓使用者能夠輸入資料(表單) 在建立使用者賬戶身份驗證系統之前,先新增幾個頁面,讓使用者能偶輸入資料。新增新主題、新增新條目以及編輯既有條目。 新增新主題 1.用於新增主題的表單 建立一個forms.py檔案與models.py放在同一目錄下。 from django import

Python爬蟲框架Scrapy例項資料儲存到MongoDB

Python爬蟲框架Scrapy例項(三)資料儲存到MongoDB任務目標:爬取豆瓣電影top250,將資料儲存到MongoDB中。 items.py檔案複製程式碼# -*- coding: utf-8 -*-import scrapy class DoubanItem(scrapy.Item): # d

django基本流程2

十、檢視的基本使用 10.1、在django中,檢視對web請求進行迴應,檢視就是一個函式,在view.py檔案中定義 10.2、定義檢視 from django.http import HttpResponse # Create your views here. def index

django基本流程1

一、建立專案 1.1、首先安裝Django庫,pip install django 1.2、在合適的位置建立一個目錄,開啟黑屏終端,進入上一步建立的目錄 1.3、輸入: django-admin startproject  專案名 1.4、目錄層級說明:manage.p

Python遺傳演算法框架使用例項多目標優化問題Geatpy for Python與Matlab的對比學習

在前面幾篇文章中,我們已經介紹了高效能Python遺傳和進化演算法框架——Geatpy的使用及一些案例。 本篇就一個多目標優化例項進行展開講述,並且與使用Matlab工具箱得到相近效果進行一些對比: Geatpy已於2018.09.20更新至1.0.6版本

MFC單文件框架分析及執行流程

原文轉自 https://blog.csdn.net/u011619422/article/details/40402705   首先來分析一下MFC單文件類的結構: 它包括如下幾個類: CAboutDlg :  對話方塊框類,對應應用程式的“幫助”->“關於”選單,彈出“關

Quartz任務排程框架--任務執行流程

       上一篇部落格Quartz任務排程框架--簡介與示例(一)中我們已經簡介和示例程式碼對quartz有了初步的認識,這篇部落格我們通過追蹤quartz的定時任務執行流程來加深對quartz的瞭解。 1、執行活動執行緒 (1)Quartz_Worker-*執行

Python爬蟲框架Scrapy例項

目標任務:使用Scrapy框架爬取新浪網導航頁所有大類、小類、小類裡的子連結、以及子連結頁面的新聞內容,最後儲存到本地。 大類小類如下圖所示: 點選國內這個小類,進入頁面後效果如下圖(部分截圖): 檢視頁面元素,得到小類裡的子連結如下圖所示: 有子連結

Open vSwitchOvS原始碼分析之工作流程flow流表查詢

前面分析了Open vSwitch幾部分原始碼,對於Open vSwitch也有了個大概的理解,今天要分析的程式碼將是整個Open vSwitch的重中之重。整個Open vSwitch的核心程式碼在datapath檔案中;而datapath檔案中的核心程式碼又在ovs_dp_process_re

Python Django進階教程模型的高階用法

Django版本:1.11 作業系統:Windows Python:3.5 歡迎加入學習交流QQ群:657341423 資料模型高階使用。這節主要講模型的使用。回顧一下基礎教程的模型設計 新建了三個表,分別Publisher,Author,Book。 其

django-web開發框架-模型類

設計介紹 本示例完成“圖書-英雄”資訊的維護,需要儲存兩種資料:圖書、英雄 圖書表結構設計: 表名:BookInfo 圖書名稱:btitle 圖書釋出時間:bpub_date 英雄表結構設計: 表名:HeroIn