Django框架流程

Django版本 : 1.11.11python

一. Django流程mysql

  1. MVC是衆所周知的設計模式,即 : 將應用程序分爲三個部分 : model(模型),view(視圖),controller(控制器), 其中 :jquery

    M -- 是應用程序用於處理應用程序數據邏輯的部分,一般模型對象負責在數據中存取數據.正則表達式

    V -- 是應用程序中處理數據顯示的部分.一般視圖是依據模型數據建立的.sql

    C -- 是應用程序中處理用戶交互的部分,一般控制器負責從視圖讀取數據,控制用戶輸入,並行模型發送數據.shell

  2. django也是一個MVC框架. 可是在django中, 控制器接收用戶輸入的部分由框架自行處理,因此django裏更關注的是Model(模型), Template(模板)和Views(視圖), 稱爲MTV模式 : 數據庫

    M -- 模型, 即數據存取層. 該層處理的是與數據相關的全部事物 : 如何存取, 如何驗證有效性, 包含哪些行爲以及數據之間的關係等.django

    T -- 模板, 即表現層. 該層處理的是與表現相關的決定 : 如何在頁面或其餘類型文檔中進行顯示.設計模式

    V -- 視圖,即業務邏輯層. 該層包含存取模型及調取恰當模板的相關邏輯. 能夠將它看作模型與模板之間的橋樑.服務器

二. Django基本配置

  1. 經常使用命令   

    python manage.py runserver ip:port  (啓動服務器,默認ip和端口爲http://127.0.0.1:8000/)

    python manage.py startapp appname  (新建 app)

    python manage.py syncdb  (同步數據庫命令,Django 1.7及以上版本須要用如下的命令)

    python manage.py makemigrations  (顯示並記錄全部數據的改動)

    python manage.py migrate  (將改動更新到數據庫)

    python manage.py createsuperuser  (建立超級管理員)

    python manage.py dbshell  (數據庫命令行)

    python manage.py  (查看命令列表)

  2. 程序目錄

    

  3. 數據庫配置文件

#在與Django項目同名的包內的settings.py文件內配置


# 默認是SQLit 3 的配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# MySQL的配置

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',   #注意這裏的數據庫應該以utf-8編碼
    'USER': 'xxx',        #數據庫帳戶
    'PASSWORD': 'xxx',
    'HOST': '',    #數據庫主機IP地址
    'PORT': '',    #數據庫端口
    }
}

# 對於python3的使用者們還須要再加一步操做
# 因爲Django內部鏈接MySQL時使用的是MySQLdb模塊,而python3中還無此模塊,因此須要使用pymysql來代替
  
# 以下設置放置的與Django項目同名的包下的 __init__.py文件中
  
import pymysql
pymysql.install_as_MySQLdb()


# PostgreSQL配置
DATABASES = {
    'default': {
        'NAME': 'app_data',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': 'XXX',
        'PASSWORD': 'XXX'
    }


# Oracle配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': 'xe',
        'USER': 'a_user',
        'PASSWORD': 'a_password',
        'HOST': '',
        'PORT': '',
    }
}
配置代碼

     Django框架對於開發者來講高度透明化,對於不一樣數據庫的具體使用方法是一致的, 改變數據庫只須要變更上述配置便可.

  4. 靜態文件添加

# 首先在項目根目錄下建立static目錄

# 接着在settings.py 文件下添加

STATIC_URL = '/static/'  # 默認已添加,使用靜態文件時的前綴
STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'), #行末的逗號不能漏
    )

# 這樣在template中就能夠導入static目錄下的靜態文件啦

# 例:
<script src="/static/jquery-1.12.4.js"></script>
static配置

三. Django路由系統

  URL就像是Django所支撐網站的目錄. 它的本質是URL模式以及要爲該URL模式調用的視圖函數之間的映射表; 就是以這種方式告訴Django, 對於這個URL調用對應的代碼, URL的加載就是從配置文件中開始.

  基本格式 : 

from django.conf.urls import url

urlpatterns = [
     url(正則表達式, views視圖函數,參數,別名),
]

  參數說明 :  

    正則表達式:一個正則表達式字符串

    views視圖函數:一個可調用對象,一般爲一個視圖函數或一個指定視圖函數路徑的字符串

    參數:可選的要傳遞給視圖函數的默認參數(字典形式)

    別名:一個可選的name參數

  注意事項 :   

    urlpatterns中的元素按照書寫順序從上往下逐一匹配正則表達式,一旦匹配成功則再也不繼續。

    若要從URL中捕獲一個值,只須要在它周圍放置一對圓括號(分組匹配)。

    不須要添加一個前導的反斜槓,由於每一個URL 都有。例如,應該是^articles 而不是 ^/articles。

    每一個正則表達式前面的'r' 是可選的可是建議加上。

  補充 :

    Django settings.py配置文件中默認沒有 APPEND_SLASH 這個參數,但 Django 默認這個參數爲 APPEND_SLASH = True。 其做用就是自動在網址結尾加'/'。

相關文章
相關標籤/搜索