59 Django基礎三件套 , 模板{{}}語言 , 程序連mysql Django項目app Django中ORM的使用
主要內容:
1 form表單中提交數據的三要素
form標簽必須要有action和method的屬性
所有獲取用戶輸入的標簽必須放在form表單裏,也必須要有那麽name屬性.因為往後端提交數據的時候name所對應的是關鍵字, input輸入的值為value.在後端顯示為字典的模式, 如果不寫name關鍵字,則取不到值.
必須要有submit按鈕.
2 Django 基礎三件套
from Django.shortcuts import HttpResponse, render, redirect
1. HttpResponse 返回一個指定的字符串
2. render 返回一個html文件
3. redirect 跳轉一個頁面(redirect(‘/index/‘))
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
使用pyMmysql模塊
導入pymysql模塊----> 創建連接-------> 獲取執行命令的遊標------>用遊標去執行sql語句--->獲取sql語句的執行結果------> 關閉遊標 -------> 關閉連接
創建一種工具 可幫助翻譯sql語句 ---> ORM(object Relationship Model )
優點: 開發效率高, 開發不用直接寫sql語句
缺點: 執行效率低
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語句,去數據庫執行
59 Django基礎三件套 , 模板{{}}語言 , 程序連mysql Django項目app Django中ORM的使用