django是一個採用Python語言開發的開源框架,2005年發佈。早期是作新聞以及內容管理的網站的,提供了很是強大的後管理系統。python
django官網:https://www.djangoproject.com正則表達式
djando的框架模式 - MTV:數據庫
M (Models)-------> 模型層:負責數據庫的建模以及CRUD(增刪改查)操做;django
T (Templates)--------> 模板層:用於處理用戶顯示的內容,好比HTML;ubuntu
V (Views)--------> 視圖層:處理與用戶交互的部分操做,從模型中獲取數據,再將數據發送給模板,並顯示給用戶。服務器
ps: MTV是屬於django的一種框架模式,除了MTV以外還有一個比較出名的模式--MVC;框架
MTV和MVC的功能作一個簡單對應,以下:函數
M - - - - - - M(Models):模型層網站
T - - - - - - V(Views):視圖層url
V - - - - - - C(Controllers):控制層
下面有一張MTV模式的框架圖:
ps:ubuntu系統
1、先查看是否已安裝Django,
在終端中進入python3的交互模式,導入django;若是成功,輸入一下命令查看版本
django.VERSION
2、開始安裝
一、在線安裝
sudo pip3 install django (默認安裝最高版本)
sudo pip3 install django==1.11.8 (指定安裝版本爲1.11.8)
ps:這裏根據自身需求
二、離線安裝
1). 先到官網下載所需的Django安裝包
2). 在環境中解壓Django包
tar -xvf Django-1.11.8.tar.gz
3). 進入到解壓出來的目錄中進行安裝
sudo python3 setup install
1、建立Django項目,在終端中輸入以下指令:
django-admin startproject 項目名
例: django-admin startproject mytext
2、啓動服務並訪問網站
使用manage.py文件來啓動服務,以下:
python3 manage.py runserver
ps:也可使用./manage.py runserver 啓動,可是若是你使用的是python3,須要進入manage.py文件中,將第一行改成 #!/usr/bin/env python3(已是則不用改)
1、manage.py ---->負責執行Django中的各項操做文件:
如:
啓動服務、建立管理員、建立應用、數據庫的同步操做等....
2、主目錄(名稱同項目名)
一、__init__.py
項目的初始化文件,服務啓動時,會自動執行。
二、urls.py
項目的基礎url配置文件
三、wsgi.py
應用服務器配置文件
四、settings.py
項目的豬設置文件,下面介紹settings.py文件中的一些重要變量的含義:
BASE_DIR: 獲取當前項目的根目錄路徑
DEBUG:調試模式,開發過程當中推薦使用True,上線運行推薦是False
ALLOWED_HOSTS:設置容許訪問本項目的地址列表,默認爲空,表示只能本地,* 表示任何地址
INSTALLED_APPS:指定已安裝的應用,若是有本身建立的應用,須要在這進行註冊
MIDDLEWARE:指定註冊的中間件
ROOT_URLCONF:指定項目的基礎路由配置文件
TEMPLATES:指定模板的信息
DATABASES:指定數據庫的信息
LANGUAGE_CODE:指定網站顯示的語言,中文(zh-Hans)
TIME_ZONE:指定時區,中國時區(Asia/Shanghai)
一、urls.py(文件)
默認是在主目錄中,主路由配置文件,會包含最基本的地址映射;每一個請求到達以後
都會由urls.py文件中urlpatterns列表的url進行匹配;url()函數匹配上以後,可能交給其餘
urls.py文件或者視圖(views)處理。
二、url()函數
語法:url(regex, views, kwargs=None, name=None)
regex:正則表達式,匹配請求的url
views:視圖處理函數或者其餘urls.py文件
kwargs:字典,用來向views傳參
name:字符串,給url起別名.
三、經過 url 向 views 傳參
1).使用正則表達式傳參
使用子組傳參,一個子組是一個參數,想要多個參數的話,可使用多個子組
子組 - ()
urlpatterns = [
#訪問路徑是run/的時候,交個run_views去處理
url(r'^run/$',run_views),
#訪問路徑是run/任意兩位數字,交給run_args_views去處理
url(r'^run/(\d{2})',run_args_views),
#訪問路徑是run/四位數字/兩位數字/,交給run1_views處理
url(r'^run/(\d{4})/(\d{2})/$',run1_views),
]
ps:
一、在url()中,一個子組()表示一個參數
二、在views.py中,對應的處理函數要根據url()中子組的個數,相應的定義參數,定義的參數要位於request以後
例子:
一、url(r'^run/(\d{2})',run1_views),
def run1_views(request,num)
二、url(r'^run/(\d{2})/(\d{4})',run2_views)
def run2_views(request,num1,num2)
四、使用url()第三個參數,字典傳參
url(r'^show/$',show_views,{'name':'laoshe','age':'89'})
def show_views(request,name,age): name:表示的就是字典name參數的值 age:表示的就是字典age參數的值 ps: 一、視圖處理函數中,必須聲明參數 二、參數的名稱和位置,必需要與字典中的名稱和位置保持一致