Flask零基礎到專案實戰(四)SQLAlchemy資料庫(一)
文章來源—知了課堂的課件
一、SQLAlchemy簡介
- flask_sqlalchemy是一套ORM框架。
- ORM(Object Relationship Mapping):模型關係對映
- ORM的好處:可以讓我們操作資料庫跟操作類的物件一樣。一個表可以抽象成一個類,一條資料可以抽象成該類的一個物件。
資料庫表:article
id (int) | title (string) | content (text) |
---|---|---|
1 | abc | this is content of you know who |
2 | xyz | all of people hava a soft heart |
3 | mmp | just want do it |
進行ORM(模型關係對映)之後:
class Article(Model):
# 屬性對應資料中的欄位
id = Int()
title = String()
content = Text()
# 新增一條資料,就是例項化一個類的物件
article1 = Article(id = 1, title = 'who', content = 'No way!')
add(article1)
# 更新資料庫的資料
article1.title = 'you'
update(article1)
# 刪除一條資料庫的資料
delete(article1)
二、SQLAlchemy連線資料庫
1. 初始化和設定資料庫配置資訊:
- 使用flask_sqlalchemy中的SQLAlchemy進行初始化:
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
2. 設定配置資訊:在config.py
檔案中新增以下配置資訊:
# dialect+driver://username:[email protected] :port/database
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = ''
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo'
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST
,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
3. 在主app
檔案中,新增配置檔案:
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
4. 做測試,看有沒有問題:
db.create_all()
如果沒有報錯,說明配置沒有問題,如果有錯誤,可以根據錯誤進行修改。
例項:
main.py
# encoding:utf8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
# 執行下面這句如果沒有問題就算連線資料庫成功
db.create_all()
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
config.py
初始化一個數據庫連線。
# encoding:utf8
# 資料庫連線遵循這個語句
# dialect+driver://username:[email protected]:port/database
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = ''
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo'
# 使用一種Python3的語法將連線資料的各種引數連線起來
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST
, PORT, DATABASE)
# 不加這句話會有警告
SQLALCHEMY_TRACK_MODIFICATIONS = False
出現這個意味著成功連線資料庫
相關推薦
Flask零基礎到專案實戰(四)SQLAlchemy資料庫(一)
文章來源—知了課堂的課件 一、SQLAlchemy簡介 flask_sqlalchemy是一套ORM框架。 ORM(Object Relationship Mapping):模型關係對映 ORM的好處:可以讓我們操作資料庫跟操作類的物件一樣。一個表可
Flask零基礎到專案實戰(一)
文章來源–知了課堂的課件 Python基礎 前端基礎 資料庫表設計(一對一、一對多,多對多,外來鍵) 認識web url詳解: URL是Uniform Resource Lo
es6零基礎學習之項目目錄創建(一)
起名字 ack 文件夾 零基礎 常見 基本 font install 有一個 和大家分享一下在學習es6的過程中所積累的東西,也希望更多的朋友能夠互相學習 首先創建項目目錄 打開你的命令行,什麽文件下都可以,大家請隨意,我自己用的git,輸入 mkdir es6 創建
安卓專案實戰之CoordinatorLayout實現頁面特效(一)
效果圖如下: material design控制元件簡介: 轉載自:https://blog.csdn.net/gitzzp/article/details/52573068 CoordinatorLayout CoordinatorLayout:協調者佈局。它是support
安卓專案實戰之Glide 3高手養成(三):Glide的回撥與監聽
前言 通過前面兩篇的講解,我們對於Glide的一些使用都有了基本瞭解,知道了使用Glide載入圖片只需要一行程式碼即可: Glide.with(this).load(url).into(imageView); 而在這一行程式碼的背後,Glide幫我們執行了成千上萬行的邏輯。
安卓專案實戰之Glide 3高手養成(二):Glide強大的圖片變換功能
使用Glide時普遍會遇到的一個問題,如何解決? 首先我們嘗試使用Glide來載入一張圖片,圖片URL地址是:https://www.baidu.com/img/bd_logo1.png 這是百度首頁logo的一張圖片,圖片尺寸是540*258畫素。 接下來我們編寫一個非常簡單的佈局檔案
安卓專案實戰之Glide 3高手養成(一):Glide的基本使用
前言 現在Android上的圖片載入框架非常成熟,從最早的老牌圖片載入框架UniversalImageLoader,到後來Google推出的Volley,再到後來的新興軍Glide和Picasso,當然還有Facebook的Fresco。每一個都非常穩定,功能也都十分強大。但是它們的使用
小白福音!零基礎入門軟體測試,首選必備課程(目前最新)
第1章 課程介紹 本章將從軟體測試的起源與發展、測試行業的現狀及職業生涯規劃等整體做介紹。 1-1 課程介紹 1-2 軟體測試的發展 1-3 軟體測試的發展與職業規劃 1-4 軟體測試之“獨孤九劍” 第2章 軟體測試工程師必備基礎知識 本章將講解軟體的概念、軟體的生命週期
java專案實戰——Java打飛機小遊戲(附完整原始碼)
點選有驚喜 寫在前面 技術源於分享,所以今天抽空把自己之前用java做過的小遊戲整理貼出來給大家參考學習。java確實不適合寫桌面應用,這裡只是通過這個遊戲讓大家理解oop面向物件程式設計的過程,純屬娛樂。程式碼寫的很簡單,也很容易理解,並且註釋寫的很清楚了,還有
2018小白福音!零基礎入門軟體測試,首選必備課程(最全)
第1章 課程介紹 本章將從軟體測試的起源與發展、測試行業的現狀及職業生涯規劃等整體做介紹。 1-1 課程介紹 1-2 軟體測試的發展 1-3 軟體測試的發展與職業規劃 1-4 軟體測試之“獨孤九劍” 第2章 軟體測試工程師必備基礎知識 本章將講解軟體的概念、軟體的生命週期、軟體測試方法、軟體測
大資料-零基礎學習hadoop到上手工作線路指導(初級篇)
零基礎學習hadoop,沒有想象的那麼困難,也沒有想象的那麼容易。在剛接觸雲端計算,曾經想過培訓,但是培訓機構的選擇就讓我很糾結。所以索性就自己學習了。整個過程整理一下,給大家參考,歡迎討論,共同學習。 從一開始什麼都不懂,到能夠搭建叢集,開發。整個過程,只要有Linux基礎,虛擬機器化和java基礎,其
零基礎到架構師 不花錢學JavaEE(基礎篇)- 概述
Java簡單來說是一門語言,Java能幹什麼? 網站:開發大,中,小型網站。 伺服器端程式:企業級程式開發。 APP:Android的APP基本使用Java開發。 雲:Hadoop就是使用Java語言開發的。 其他:各大電商網站使用的搜尋,基本是Apache的Solr改進,
2016.6.13 零基礎學習hadoop到上手工作線路指導(中級篇)
原文地址 附帶連結(待看) 中級篇學習筆記 進度:內容很多很雜,先看一下後半部分的hadoop生態系統。 操作:並未實際操作。 hadoop生態系統 最常用的是hive和hbase,因此著重學習這兩個。 hive相關學習
【struts2+hibernate+spring專案實戰】實現使用者登入功能(ssh)
一、概述 從今天才開始有時間來總結總結以前自己練習的一些東西,希望總結出來對以後可以更加便捷的來學習,也希望可以幫助到正需要這些東西的同行人,一起學習,共同進步。 二、 登入功能總結 2.1、登入功能概述 這個技術主要是運用Struts2+hib
零基礎入門Python3-函數式編程(4)
partial code area 數值 aaa decorator 零基礎 基礎 inner 一、裝飾器(decorator) 當我們定義好一個函數的時候,還想為函數添加一些功能,但是不想改變已經函數。這個時候,我們就可以使用裝飾器,為定義好的函數添加功
零基礎入門Python3-函數式編程(1)
高階函數 spa wid 字母 add pla std lin fun 函數式編程和函數編程是不一樣的。函數是對一段代碼進行封裝,使得函數達到某個功能或者結果。函數式編程,簡言之就是進行數字運算的一個過程。函數可以作為參數傳入另外的函數,其返回結果也可以是函數。 一
零基礎入門Python3-函數式編程(3)
先來 賦值 map 兩個 append 語法 順序 style for循環 一、返回函數 函數作為 "返回值" 返回。特點是返回函數在調用的時候才運行計算。 # 實例1,求傳入值的平方 def func(n): def func1():
零基礎入門Python3-高級特性詳解(2)
tuple html UNC spa 顯示錯誤 collect rac 實例 零基礎入門 1、生成器 我們知道,列表生成式生成的列表占在內存中。當列表的元素較少時還行,但是達到了一定的數量,就會非常的浪費內存,因為我們用的可能是其中很少的幾個元素,其他的就閑置在那。而生成
salesforce lightning零基礎學習(十三) 自定義Lookup組件(Single & Multiple)
length 如果 rec 進行 spa all 描述 ima obj 上一篇簡單的介紹了自定義的Lookup單選的組件,功能為通過引用組件Attribute傳遞相關的sObject Name,捕捉用戶輸入的信息,從而實現搜索的功能。 我們做項目的時候,可能要從多個表中獲
EF6 在原有數據庫中使用 CodeFirst 總復習(四、新建實體對象)
block clear 數據庫 chang 添加 優先 數據遷移 ons hang 在原有數據庫中使用 CodeFirst ,除了第一次添加實體後要立即執行一次 Enable-Migrations add-migration Initial -IgnoreChan