1. 程式人生 > >Django框架簡介與使用注意事項

Django框架簡介與使用注意事項

一、Django框架簡介

MVC框架和MTV框架

MVC框架

MVC,全名是Model View Controller,是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、檢視(View)和控制器(Controller),具有耦合性低、重用性高、生命週期成本低等優點。

Django框架的設計模式借鑑了MVC框架的思想,也是分成三部分,來降低各個部分之間的耦合性。

Django框架的不同之處在於它拆分的三部分為:Model(模型)、Template(模板)和View(檢視),也就是MTV框架。

模型: 負責業務物件與資料庫的對映(ORM),檢視: 負責與使用者的互動(頁面),控制器: 接受使用者的輸入呼叫模型和檢視完成使用者的請求

Django的MTV模式

​ Model(模型):負責業務物件與資料庫的物件(ORM)

​ Template(模版):負責如何把頁面展示給使用者(html)

​ View(檢視):負責業務邏輯,並在適當的時候呼叫Model和Template

此外,Django還有一個urls分發器,它的作用是將一個個URL的頁面請求分發給不同的view處理,view再呼叫相應的Model和Template

Django框架圖示

# 二、Django下載安裝與使用注意事項

1.安裝django

pip3 install django==1.11.11

2.建立django專案
在cmd命令列下建立一個名為mysite的Django專案

django-admin startproject mysite

3.目錄介紹

mysite
├── manage.py  # Django入口管理檔案
└── templates  # 存放html檔案
└── mysite  # 專案目錄
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py  # 路由 --> URL和函式的對應關係
    └── wsgi.py  # runserver命令就使用wsgiref模組做簡單的web server

4.模板檔案配置
使用命令列建立django專案 不會自動幫你建立templates資料夾, 只能自己建立

在.settings檔案中 需要你手動在TEMPLATES的DIRS寫配置
[os.path.join(BASE_DIR, 'templates')]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # templates 資料夾位置
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

5.啟動django專案

python manage.py runserver

當我們訪問:http://127.0.0.1:8080/時就可以看到圖下,即代表成功

6.建立應用app01

python manage.py startapp app01

​ 在pycharm建立app

在輸入框直接輸入以下命令即可建立一個名為app02的APP

7.app應用目錄:

└── app01  # 專案目錄
    ├── migrations資料夾  # 存放資料庫遷移記錄
    ├── __init__.py
    ├── admin.py    # django後臺管理
    └── apps.py     # 註冊相關
    └── models.py   # 模型類 
    └── tests.py    # 測試檔案 
    └── views.py    # 存放檢視函式 

注意:如果是在命令列下建立app後,需要你去settings配置檔案中註冊新增app名字。這樣django專案才能識別到你這個app

8.靜態檔案配置:

靜態檔案配置官方文件

什麼是靜態檔案?

靜態檔案就是在開啟網頁時所用到的 圖片、 js、css以及第三方的框架bootstrap、fontawesome、sweetalert

通常情況下 網站所用到的靜態檔案資源 統一都放在static資料夾下,為了方便識別

STATIC_URL = '/static/'  # 是訪問靜態資源的介面字首,並不是存放靜態檔案的資料夾
"""只要你想訪問靜態資源 你就必須以static開頭"""


# 手動在settings最底下新增配置靜態檔案訪問資源
# 下面都是存放靜態檔案的資料夾的路徑
# 從上往下找靜態檔案,找不到就報錯
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'), 
    os.path.join(BASE_DIR,'static1'), 
    os.path.join(BASE_DIR,'static2'),
]

圖解:

9.禁用中介軟體:

前期為了方便表單提交測試。在settings配置檔案中暫時禁用csrf中介軟體

10.重定向:

​ 重定向的意思就是,我訪問的連結不是我剛剛輸入的那個連結,而是我一輸入他就跳轉到了另外一個連結,這就是重定向

最後注意事項:
1.計算機的名稱不能有中文
2.一個pycharm視窗就是一個專案
3.專案名裡面儘量不要用中文

django版本問題
1.X 2.X 現在市面上用的比較多的還是1.X
推薦使用1.11.9~1.11.13

django安裝
pip3 install django==1.11.11

如何驗證django是否安裝成功
命令列直接敲django-admin

一個django專案就類似於是一所大學,而app就類似於大學裡面的學院
django其實就是用來一個個應用的
一個app就相當於一塊獨立的功能
使用者功能
管理功能
.........

​ django支援任意多個app

三、Django的請求生命流程圖

相關推薦

Django框架簡介使用注意事項

一、Django框架簡介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、檢視(View)和控制器(Controller),具有耦合性低、重用性高、生命週期成本低等優點。 Djan

關於Django的模板繼承注意事項

Django中的模板引擎中,子模板繼承父模板中是這樣實現的。      在父模板(假設url為:dad.html)中, <!doctype html> <head> ... {% block title %} &

Django框架簡介

view(視圖) 分發 inf char any pyc 使用 數據 軟件 MVC框架和MTV框架 MVC,全名是Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Cont

Django框架-cookiesession

提前 let home man () ase python dex .post from django.shortcuts import redirect from django.shortcuts import render from login impor

Django框架簡介及模板Template

爸爸 特殊符號 html標簽 地址 [] slice ++ kong urn Django框架簡介 MVC框架和MTV框架 MVC,全名是Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(Vie

NOIP複賽複習(二)競賽環境注意事項

一、比賽不提供紙質試題,只提供電子版試題檔案。 該檔案壓縮包儲存在計算機桌面上。監考人公佈密碼後,選手自行解密試題。 試題解壓密碼會影響一個人的心情,一定要一次輸對,注意大小寫,不要邊輸入邊檢查,要對自己有自信。 二、江蘇複賽選手上機可自選windows或linux作業系統。

Deft框架簡介基本使用

deft簡介 Deft是一個超輕量級高效能O/R mapping資料訪問元件,簡單易用,幾分鐘即可上手。 原文地址:http://www.cnblogs.com/StrangeCity/p/5566471.html Deft包含如下且不限於此的優點:

Mybatis框架簡介簡單應用

  框架簡介 Mybatis原名是ibatis,是apache的開源專案,是一個持久層的框架,與資料庫進行互動,將資料持久化到關係型資料庫中,目前託管在 github中; 原理簡介 java中通過JDBC對資料庫進行操作,JDB

自我記錄:C語言編寫程式碼可能發生的問題注意事項【陸續補充】

前言:該文章原創,不僅針對新手還是老手,均有一定幫助。若有錯誤地方,請不惜賜教。主要結合《C與指標》這本書,後續看過《C專家程式設計》、《C語言的XXX個問題》等書後會繼續補充。【非計算機類學生,目前更新進度緩慢】 編寫程式碼前的注意: ①、程式設計風格影響程式碼的可讀性,這像是一個人的臉,

前端知識點之magin的用法注意事項

margin: margin的定義和用法: margin是一個設定所有外邊距的屬性; 注意 :塊級元素的垂直相鄰外邊距會合並,而行內元素實際上不佔上下外邊距。 行內元素的的左右外邊距不會合並。同樣地,浮動元素的外邊距也不會合並。 允許指定負的外邊距值,不過使用時要小心。

compass的安裝及使用,以及常見命令列指令注意事項、Compass核心模組

1、compass官網:compass-style.org compass是一個開源的書寫框架 正確安裝完ruby之後,使用gem install compass安裝 1、compass create learn-compass-init:通過compass直接建立一個compass

Planck Sky Model(PSM)的安裝注意事項

文章目錄 1. 執行平臺(IDL) 2. 主程式 3. 支援程式astron 4. 支援程式idlutils 5. 環境變數的配置 1. 執行平臺(IDL) IDL程式

Django - - 基礎 - - Django框架簡介

目錄 MVC框架和MTV框架 APP 路由系統 檢視系統 模板 模型 1, MVC框架和MTV框架 MVC,全名是Model View Controller,是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、檢視(View)和控制器(Co

列車排程(Train)習題精解注意事項

題目:  描述 某列車排程站的鐵道聯接結構如Figure 1所示。 其中,A為入口,B為出口,S為中轉盲端。所有鐵道均為單軌單向式:列車行駛的方向只能是從A到S,再從S到B;另外,不允許超車。因為車廂可在S中駐留,所以它們從B端駛出的次序,可能與從A端駛入的次序不同。不過

PCB中MARK點畫法注意事項

      MARK點是PCB應用於設計中的自動貼片機上的位置識別點,也被稱為基準點。直徑為1MM。鋼網Mark點是電路板貼片加工中PCB印刷錫膏/紅膠時的位置識別點。Mark點的選用直接影響鋼網的印刷效率,確保SMT裝置能精確定位PCB板元件。因此,MARK點對SMT生產至

科大源同步方法注意事項

總述 中科大開源映象站允許下游站點使用 rsync 協議同步站點上的內容。 因可能消耗大量伺服器資源,我們非常不推薦下游映象站點或個人使用者使用 HTTP / HTTPS / FTP協議從站點大規模同步資料。 我們可能採取

web移動端開發技巧注意事項彙總

一、meta的使用 1、<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-sca

redis的pipeline機制解析注意事項

redis的pipeline機制 主要的兩個底層函式: 1.redisvAppendCommand將命令拷貝到context的obuf裡 2.redisGetReply: 1)從reply佇列裡面返回最前面的reply,如果佇列為空,繼續後面的操作 2)如果發現obuf中

web遊戲框架哪家強?國內外精選優質框架分析及注意事項

網頁端實現各種小遊戲已經是家常便飯。微信小遊戲出現後,遊戲(特別是小型遊戲)的開發已經進入了一個相當火爆的時期。那麼作為一名前端開發者,如何取選擇一個合適的遊戲開發框架來學習和提高開發效率呢? 下面我就和大家一起分享一下: 當今國內外流行的遊戲開發框架有哪些。

@service註解得作用注意事項

 <context:component-scan base-package=”com.eric.spring”>其中base-package為需要掃描的包(含所有子包),多個包可以用逗號分隔