python+Django架構運用(一)

來源:互聯網
上載者:User

標籤:html   alt   基本   shanghai   model   地址映射   ini   多個參數   bin   

Django 介紹:

  django是一個採用Python語言開發的開源架構,2005年發布。早期是做新聞以及內容管理的網站的,提供了非常強大的後管理系統。

  django官網:https://www.djangoproject.com

  架構模式:

    djando的架構模式 - MTV:

      M (Models)-------> 模型層:負責資料庫的建模以及CRUD(增刪改查)操作;

      T (Templates)--------> 模板層:用於處理使用者顯示的內容,比如HTML;

      V (Views)--------> 視圖層:處理與使用者互動的部分操作,從模型中擷取資料,再將資料發送給模板,並顯示給使用者。

    ps: MTV是屬於django的一種架構模式,除了MTV之外還有一個比較出名的模式--MVC;

    MTV和MVC的功能做一個簡單對應,如下:

      M - - - - - - M(Models):模型層

       T - - - - - - V(Views):視圖層

       V - - - - - - C(Controllers):控制層

    下面有一張MTV模式的架構圖:

    

Django安裝

  ps:ubuntu系統

  一、先查看是否已安裝Django,

    在終端中進入python3的互動模式,匯入django;如果成功,輸入一下命令查看版本

    django.VERSION

  二、開始安裝

    1、線上安裝 

      sudo pip3 install django (預設安裝最高版本)

      sudo pip3 install django==1.11.8 (指定安裝版本為1.11.8)

      ps:這雷根據自身需求

    2、離線安裝

      1). 先到官網下載所需的Django安裝包

      2). 在環境中解壓Django包

         tar -xvf Django-1.11.8.tar.gz

      3). 進入到解壓出來的目錄中進行安裝

        sudo python3 setup install

 

Django的簡單使用

  一、建立Django項目,在終端中輸入如下指令:

    django-admin startproject 項目名

    例: django-admin startproject mytext

  二、啟動服務並訪問網站

    使用manage.py檔案來啟動服務,如下:

    python3 manage.py runserver

    ps:也可以使用./manage.py runserver 啟動,但是如果你使用的是python3,需要進入manage.py檔案中,將第一行改為 #!/usr/bin/env python3(已經是則不用改)

 

Djanogo項目的結構

  一、manage.py ---->負責執行Django中的各項操作檔案:

    如:

    啟動服務、建立管理員、建立應用、資料庫的同步操作等....

 二、主目錄(名稱同項目名)

    1、__init__.py

      項目的初始設定檔案,服務啟動時,會自動執行。

    2、urls.py

      項目的基礎url設定檔

    3、wsgi.py

      應用伺服器設定檔

    4、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)

 

  URL的使用

    1、urls.py(檔案)

      預設是在主目錄中,主路由設定檔,會包含最基本的地址映射;每個請求到達之後

    都會由urls.py檔案中urlpatterns列表的url進行匹配;url()函數匹配上之後,可能交給其他

    urls.py檔案或者視圖(views)處理。

    2、url()函數

      文法:url(regex, views, kwargs=None, name=None)

      regex:Regex,匹配請求的url

      views:視圖處理函數或者其他urls.py檔案

      kwargs:字典,用來向views傳參

      name:字串,給url起別名.

      

    3、通過 url 向 views 傳參

      1).使用Regex傳參
      使用子組傳參,一個子組是一個參數,想要多個參數的話,可以使用多個子組
      子組 - ()
      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:
        1、在url()中,一個子組()表示一個參數
        2、在views.py中,對應的處理函數要根據url()中子組的個數,相應的定義參數,定義的參數要位於request之後
        例子:
        1、url(r‘^run/(\d{2})‘,run1_views),

          def run1_views(request,num)
        2、url(r‘^run/(\d{2})/(\d{4})‘,run2_views)

          def run2_views(request,num1,num2)

    4、使用url()第三個參數,字典傳參
      url(r‘^show/$‘,show_views,{‘name‘:‘laoshe‘,‘age‘:‘89‘})

      def show_views(request,name,age):
      name:表示的就是字典name參數的值
      age:表示的就是字典age參數的值
      ps:
        1、視圖處理函數中,必須聲明參數
        2、參數的名稱和位置,必須要與字典中的名稱和位置保持一致

   

    

 

python+Django架構運用(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.