Django框架篇

Django框架

1.HTTP超文本傳輸協議

  • 8中請求方法前端

    • GET , POST ,HEAD ,PUT ,DELETE , TRACE ,OPTIONS ,CONNCTpython

  • 狀態碼mysql

    • 1xx ;服務器收到請求,進一步處理web

    • 2xx :正常 200 oksql

    • 3xx : 重定向數據庫

    • 4xx : 請求錯誤 403 404django

    • 5xx : 服務器錯誤服務器

2.web框架

  • 本質:socket服務端session

  • 功能:app

    • socket收發消息 wsgi wsgiref uwsgi

    • 根據不一樣的路徑返回不一樣的內容

    • 返回動態頁面(字符串的替換,模板的渲染jinja2)

3.Django的MTV模式

  • Model(模型): 負責業務對象與數據庫的對象(ORM)

  • Template(模板) : 負責如何把頁面展現給用戶

  • View(視圖):負責業務邏輯,並在適當的時候調用Model和Template

  • 此外Django還有一個urls分發器,它的做用是將一個個YRL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template

4.Django常見命令

  • 下載django

    • pip3 install django ==1.11.23 -i源地址

  • 建立Django項目

    • django-admin startproject 項目名

    • 代碼建立的項目沒有模板的存放文件夾,而pycharm中默認建立了.因此能夠經過os.mkdir(os.path.join(BASE_DIR,'templates'))建立該路徑,並在表單中的DIRS後的空列表添加拼接的路徑

  • 啓動Django項目

    • python manage.py runserver 0.0.0.0:80

  • 建立APP

    • 一個Django項目能夠分爲多個APP,用來隔離不一樣功能模塊的代碼

    • python manage.py startapp app01

5.簡單使用

  • 設計url ,有對應函數 ,完成函數

6.靜態文件的配置

 STATIC_URL = '/static/'  # 別名
 
 STATICFILES_DIRS = [
     os.path.join(BASE_DIR, 'static')
 ]
 
 
 STATICFILES_DIRS = [   #按照列表的順序進行查找
     os.path.join(BASE_DIR, 'x1'),
     os.path.join(BASE_DIR, 'static'),
     os.path.join(BASE_DIR, 'x2')
 ]  

7.登錄的實例

  • form表單

    • action 提交的地址 method post

    • input 須要有name

    • submit 提交的按鈕或者input

    • 目前提交post請求,註釋一個csrf 中間件

      •  MIDDLEWARE = [
            'django.middleware.security.SecurityMiddleware',
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.middleware.common.CommonMiddleware',
            # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
            'django.contrib.messages.middleware.MessageMiddleware',
            'django.middleware.clickjacking.XFrameOptionsMiddleware',
         ]
      • `前端模板 http://www.jq22.com

8.app

  • 新建APP

    • python manage.py startapp app名稱

  • 註冊APP

    • 在settings中

    •  INSTALLED_APPS = [
       
          'app01',  
          'app01.apps.App01Config', # 推薦寫法
       ]
  • 目錄

    • admin.py django admin

    • apps.py app的信息

    • models.py 模型 model 跟數據庫有關

    • views.py 寫函數

9.orm

  • 使用mysql數據庫的流程

  • 建立一個mysql數據庫;

  • 在settings中配置數據庫:

     DATABASES = {
         'default': {
             'ENGINE': 'django.db.backends.mysql',   # 引擎
             'NAME': 'day53', # 數據庫名稱
             'HOST': '127.0.0.1', # IP
             'PORT': 3306, # 端口號
             'USER': 'root', # 用戶名
             'PASSWORD': '123' # 密碼
        }
     }
  • 使用pymysql模塊鏈接mysql數據庫。

    寫在與settings同級目錄下的init.py中

     import pymysql
     pymysql.install_as_MySQLdb()
  • 寫對應關係,在app下的models.py中寫類。

     class User(models.Model):
         username = models.CharField(max_length=32)  # username varchar(32)
         password = models.CharField(max_length=32)  # password varchar(32)
  • 執行數據庫遷移的命令

    python manage.py makemigrations # 記錄下models.py的變動記錄

    python manage.py migrate # 變動記錄同步到數據庫

相關文章
相關標籤/搜索