主要內容:https://www.cnblogs.com/liwenzhou/p/8688919.htmlhtml
1 form表單中提交數據的三要素python
a : form標籤必需要有action和method的屬性mysql
b : 全部獲取用戶輸入的標籤必須放在form表單裏,也必需要有那麼name屬性.由於日後端提交數據的時候name所對應的是關鍵字, input輸入的值爲value.在後端顯示爲字典的模式, 若是不寫name關鍵字,則取不到值.sql
c : 必需要有submit按鈕.數據庫
2 Django 基礎三件套django
from Django.shortcuts import HttpResponse, render, redirect後端
a. HttpResponse ('ok') 返回一個指定的字符串(把字符串的ok轉換成二進制, 而後按照http的響應格式返回)瀏覽器
b. render (requst, 'login.html') 返回一個html文件(打開html文件,讀取內容,按照響應格式返回)數據結構
render(request, 'login.html', {'key':'value'}) 打開html文件,讀取內容,替換特殊符號,按響應格式返回app
c. redirect ('/index/') 跳轉一個頁面(redirect('/index/'))
redirect('http://luffycity.com') 讓瀏覽器訪問我指定的網址
3 request 相關的屬性
request.method 返回的是請求的方法(全大寫): GET/POST
request.GET 取的是url裏面的參數,相似於字典的數據結構
request.POST post提交的數據, 相似於字典的數據結構
4 Django的模板語言
{{變量名}}
<div class="form-group">
<div class="col-sm-9">
<button type="submit" id="b1" class="btn btn-block btn-primary">登陸</button>
<p style="color: indianred;">{{ error_msg }}</p>
</div>
</div>
5 程序連mysql
a : 使用pyMmysql模塊
導入pymysql模塊----> 建立鏈接-------> 獲取執行命令的遊標------>用遊標去執行sql語句--->獲取sql語句的執行結果------> 關閉遊標 -------> 關閉鏈接
b : 創 建一種工具 可幫助翻譯sql語句 ---> ORM(object Relationship Mapping )對象關係映射.
優勢: 開發效率高, 開發不用直接寫sql語句
缺點: 執行效率低
c : ORM 與 mysqldb的關係
類 -------- 數據表
屬性 -------- 字段
對象 -------- 數據行
6 Django項目app: 項目中又分了一級python包, 不一樣的功能放在不一樣的包裏面
1 建立app: python manage.py startapp01
2 告訴Django建立了一個app:在setting.py找INSTALL_APPS中添加新建立的app
'app01.apps.App01Config',
3 Django中ORM的使用:
用處: 操做數據表, 操做數據行
使用:
1 手動建立一個數據庫: create database 數據庫名字
2 告訴django連那個數據庫:
在setting配置文件中設置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 鏈接數據庫的類型 'NAME': 'mysite', # 數據庫名 'HOST': '127.0.0.1', # 數據庫主機地址 'PORT': 3306, # 數據庫的端口 'USER': 'root', 'PASSWORD': '', }
3 用什麼鏈接數據庫:
利用第三方的包, 好比第三方包: pymysql和MYSQLdb
告訴Django用的pymysql模塊代替默認的MYSQLdb去鏈接數據庫,方法: 修改和setting同級的__init__.py文件,寫上
import pymysql pymysql.install_as_MySQLdb()
4 在app/models.py的文件中建立類
類必須繼承models.Model
from django.db import models # Create your models here. class User(models.Model): id = models.AutoField(primary_key=True) # 建立一個自增的id做爲主鍵 email = models.CharField(max_length=24) #---> varchar(24) pwd = models.CharField(max_length=16)
5 另外的兩個命令:
1. python manage.py makemigrations --> 找個小本本把models.py的變動記錄一下 2 python manage.py migrate --> 把上面的變動記錄翻譯成SQL語句,去數據庫執行