• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Django框架(一):初識

    標簽: # 框架  django

    一、認識Django

    1、簡介

    Django,是用python語言寫的開源web開發框架,并遵循MVC設計。
    Django的主要目:簡便、快速的開發「數據庫」驅動的網站。

    強調代碼復用,多個組件可以很方便的以"插件"形式服務于整個框架,Django有許多功能強大的第三方插件,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴展性。它還強調快速開發和DRY(DoNotRepeatYourself)原則。

    2、MVC與MVT模式

    (1)MVC模式

    有一種程序設計模式叫MVC,其核心思想是分工、解耦,讓不同的代碼塊之間降低耦合,增強代碼的可擴展性和可移植性,實現向后兼容。

    MVC的全拼為Model-View-Controller,最早由TrygveReenskaug在1978年提出。
    是施樂帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程序語言Smalltalk發明的一種軟件設計模式;是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化用戶交互模型中而設計的。
    隨著標準輸入輸出設備的出現,開發人員只需要將精力集中在業務邏輯的分析與實現上。
    后來被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用ColdFusion(ColdFusion(直譯:冷聚變),是一個動態Web服務器)和PHP的開發者的歡迎。
    現在雖然不再使用原來的分工方式,但是這種分工的思想被沿用下來,廣泛應用于軟件工程中,是一種典型并且應用廣泛的軟件架構模式。后來,MVC的思想被應用在了Web開發方面,被稱為Web MVC框架。

    在這里插入圖片描述

    • M全拼為Model,主要封裝對數據庫層的訪問,對數據庫中的數據進行增、刪、改、查操作。
    • V全拼為View,用于封裝結果,生成頁面展示的html內容。
    • C全拼為Controller,用于接收請求,處理業務邏輯,與Model和View交互,返回結果。
    (2)Django的MVT模式

    Django借鑒MVC模式,根據自身特點,提出了MVT模式!
    在這里插入圖片描述

    • M全拼為Model,與MVC中的M功能相同,負責和數據庫交互,進行數據處理。
    • V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回應答。
    • T全拼為Template,與MVC中的V功能相同,負責封裝構造要返回的html。

    從這里看MTV只是把名字改了下,其實不然,其中有好多細節方面是與MVC不一樣的!

    二、Django安裝與使用

    # 安裝django命令
    pip3 install django
    pip3 install django==2.1.1 # 指定安裝的django版本
    
    # 卸載django
    pip3 uninstall django
    

    1、手動創建django項目

    mkdir ./django
    cd ./django
    django startproject mysite # 開啟一個django項目,項目名為mysite
    cd mysite
    ls -al
    

    在這里插入圖片描述manage.py這是什么?有什么作用?

    manage.py是用來啟動django服務器的!
    # 啟動命令:
    python3 manage.py runserver 8080
    

    在這里插入圖片描述接下來我們訪問一下,我們什么都沒有配置,應該會出現django默認頁面!
    在這里插入圖片描述
    ok,成功!
    接下來我們再進mysite文件夾進去看看!
    在這里插入圖片描述
    其中現在我們只需要知道settings.py,urls.py即可!wsgi.py中都是socket相關的代碼,實現了wsgi協議!

    settings.py: 項目的全局配置文件
    urls.py: 負責url的分發控制,url與視圖函數的對應關系!
    

    其實一個項目中還可以有很小應用,或者說小模塊,本身可以獨立出來的!比如微信是一個項目,朋友圈、小程序都可以看作一個單獨的應用模塊!因此為了減少耦合,并提高可維護性、可擴展性!django提供了產生應用的命令:

    # 可以開啟多個應用
    python manage startapp app01
    python manage startapp app02
    

    以其中一個應用來看:

    # 我們可以來看看它的目錄結構
    cd app01
    ls -al
    

    在這里插入圖片描述其中目前需要知道的是models.py、views.py,每個應用都有自己獨立的model、view文件,降低耦合!

    2、pycharm創建django項目

    在這里插入圖片描述
    在這里插入圖片描述

    在這里插入圖片描述
    成功!進入項目…
    這里我們可以縱觀全局目錄結構:
    在這里插入圖片描述

    3、核對配置settings.py

    (1)配置模板文件(template)的查找路徑

    在這里插入圖片描述
    在這里插入圖片描述看看DIRS是否配置了路徑!一般pycharm都會給你自動配置的!有小伙伴可能會問BASE_DIR是啥呀!如下:
    在這里插入圖片描述這個常量就定義在settings文件的最前面!

    (2)去掉csrf驗證

    在這里插入圖片描述
    把這行刪除,不然你開啟django服務器,服務器會拒絕你的post請求

    版權聲明:本文為weixin_44571270原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_44571270/article/details/107436090

    智能推薦

    Django框架(一)基礎

    一、Django介紹 2003的秋天,美國的web團隊當時維護很多個web網站,這些網站需求比較多,但是時間很短,出于這個原因研發了Django框架,2005年將框架開源,2007年命名為DjangoDjango使用Python編寫的開源框架,功能齊全,市場占額是 50% 左右,剩余的就是flask和Tornado居 多。 * Django特性 優點: 重量級的框架,提供了豐富的功能組件,讓開發變...

    Spring框架一:Spring初識

    一、框架 ? 框架就是某些個人或者組織定義了一系列的類或者接口,提前定義好了一些實現,用戶可以在這些類和接口的基礎之上,使用這些類來迅速的形成某個領域或者某個行業的解決方案,簡化開發的過程,提高開發的效率。就好比:你要蓋一座房子,先把柱子,房梁等先建設好,然后只需要向房子中填充就可以了,可以按照自己的需求進行設計,其實我們做的項目、系統都是類似的方式,如果所有的代碼全部都需要自己實現,那么這個工程...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    猜你喜歡

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    精品国产乱码久久久久久蜜桃不卡