django次日

內容回顧python

1.HTTP協議mysql

  1.請求方式:8種 GET / POSTweb

  2.狀態碼sql

    1xx數據庫

    2xx  200 okdjango

    3xx  重定向 301 302 flask

    4xx 請求的錯誤瀏覽器

    5xx  服務器的錯誤服務器

  3.urlsession

    http://www.cnblogs.com /guobaoyuan?k1=v1&k2=v2

    協議  域名  路由 參數 
  4.格式

    請求(request ---瀏覽器給服務端發的細信息)

    '請求方式URL HTTP/1.1\r\n

    k1:v1\r\n

    k2:v2\r\n

    \r\n

    請求體(請求數據)'   get 請求沒有請求體

 

    響應(reponse---服務端給瀏覽器發送的消息)

    'HTTP/1.1狀態碼 狀態描述\r\n

    k1:v1\r\n

    k2:v2\r\n

    \r\n

    響應數據(響應體)'   ---- >HTML文本

  2.瀏覽器發送請求接受響應的流程

    1.在瀏覽器的地址中輸入URL,回車,發送了一個GET請求

    2.服務器接受請求,獲取到路徑,根據不一樣的路徑返回不一樣的內容

    3.服務器把響應的內容組成符合HTTP協議響應格式的字符串返回給瀏覽器

    4.瀏覽器接受到響應,拿到響應體(HTML代碼),進行渲染

  

  3.web框架(socket服務端)

    功能:

    1.socket收發消息

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

    3.動態頁面(字符串替換 --- 模板的渲染)

  

  4.分類

    django : 2  3  生產 wsgiref   上線  uwsgi

    flask: 2 

    tornado: 1 2 3

  

  5.django

    1.下載安裝

      命令行:pip install django==1.11.18 -i 源

      pycharm

    2.建立項目

      命令行: django-admin startproject 項目名

      pycharm

    3.啓動

      命令行:

      切換達到項目目錄下: manage.py 
      python manage.py runserver   # 127.0.0.1:8000

      python manage.py runserver 80  # 127.0.0.1:80

      python manage.py runserver 0.0.0.0:80   # 0.0.0.0:80

 

今日內容

  1.寫一個完整的登陸實例

  靜態文件的配置

  STATIC_URL = '/static/'   # 別名

  STATICFILES_DIRS = [

    os.path.join(BASE_DIR , 'static')

  ]

  
   2. form 表單:

    1.form標籤有 action=""    

          method= "post" 

          novalidate  不須要驗證

    2. input標籤要有name屬性

    3.須要有一個type=submit的input標籤或者button按鈕

    

    目前看有提交post請求

      在settings.py中註釋MIDDLEWARE中的

      django.middleware.csrfViewMiddleware

 

    request.method   #  請求方式  POST /  GET

    request.POST   #  form表單提交POST請求的數據,相似字典

    

    return redirect('https://baidu.com')

    return redirect("/index/")    # 響應頭 Location:/index/

  

  get和post區別

    get獲取一個頁面

    django中獲取數據 :request.GET

    

    post:提交數據

    數據不可見

    django中獲取數據:request.POST

 

  2.APP

  命令行: python manage.py startapp  app名稱

  pycharm:

    tools --->run manage.py task  ------> startapp  app名稱

  註冊APP

    

# 註冊APP
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01',
    'app01.apps.App01Config'   # 推薦寫法
]

  3.ORM的介紹和使用

  1.django項目中使用mysql數據庫的流程:

    1.建立數據庫

      create database 數據庫的名字

    2.配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 引擎
        'NAME': 'day60',        # 數據庫名字
        'HOST': '127.0.0.1',    # IP
        'PORT': 3306,            # 端口
        'USER': 'root',            # 用戶名
        'PASSWORD': '123',        # 密碼
    }
}

 

    3.告訴django使用pymysql這個模塊鏈接數據庫

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

import pymysql
pymysql.install_as_MySQLdb()

     4.建立表(在app下的models.py中寫類)

from django.db import models


class User(models.Model):
    username = model.CharField(max_length=20)
    password = models.CharField(max_length=20)

    5.執行數據庫遷移的命令

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


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

 

  2.ORM操做

# 獲取表中的全部數據 對象列表

  ret = models.User.object.all()

  for i in ret :
            print(i.username,i.password,type(i.username))  #字段

#獲取一條數據
    ret = models.User.object.get(username="alex")  # 對象  
    
    get 查不到會報錯  
          查到多個也會報錯

# 獲取知足條件的多個數據,對象列表
    ret = models.User.object.filter(password='123')
相關文章
相關標籤/搜索