1. 程式人生 > >python+Django框架運用(一)

python+Django框架運用(一)

version 基礎 nag 推薦 sgi nload lan set 技術分享

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:正則表達式,匹配請求的url

      views:視圖處理函數或者其他urls.py文件

      kwargs:字典,用來向views傳參

      name:字符串,給url起別名.

      

    3、通過 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:
        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框架運用(一)