国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大白話說Python+Flask入門(六)Flask SQLAlchemy操作mysql數(shù)據(jù)庫

這篇具有很好參考價值的文章主要介紹了大白話說Python+Flask入門(六)Flask SQLAlchemy操作mysql數(shù)據(jù)庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面

這篇文章被擱置真的太久了,不知不覺拖到了周三了,當(dāng)然,也算跟falsk系列說再見的時候,真沒什么好神秘的,就是個數(shù)據(jù)庫操作,就大家都知道的CRUD吧。

Flask SQLAlchemy的使用

1、Flask SQLAlchemy簡介

Flask SQLAlchemy 是基于 Flask web 框架和 SQLAlchemy ORM(對象關(guān)系映射)的工具。它旨在為 Flask web 應(yīng)用程序提供更方便的數(shù)據(jù)庫操作。SQLAlchemy 本身是一個全功能的 ORM,而 Flask-SQLAlchemy 是在此基礎(chǔ)上為 Flask 應(yīng)用程序提供了一些額外的功能。

2、安裝Flask-SQLAlchemy

pip install flask-sqlalchemy

3、舉個栗子

后端業(yè)務(wù)代碼如下:

import pymysql
from flask import Flask, request, flash, url_for, redirect, render_template
from flask_sqlalchemy import SQLAlchemy

from flask_case.config import Config

pymysql.install_as_MySQLdb()

# 實例化一個flask對象
app = Flask(__name__)
# 設(shè)置一個密鑰
app.secret_key = 'a_secret_key'
# 從配置對象中加載配置信息
app.config.from_object(Config)
# 創(chuàng)建SQLAlchemy對象
db = SQLAlchemy(app)

class books(db.Model):
    id = db.Column('student_id', db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    price = db.Column(db.String(50))

    def __init__(self, name, price):
        self.name = name
        self.price = price





@app.route('/')
def show_all():
    return render_template('show_all.html', books=books.query.all())


@app.route('/add', methods=['GET', 'POST'])
def add():
    if request.method == 'POST':
        if not request.form['name'] or not request.form['price']:
            flash('輸入項不能為空!', 'error')
        else:
            book = books(request.form['name'], request.form['price'])
            print(book)
            db.session.add(book)
            db.session.commit()
            flash('新書上架成功!')
            return redirect(url_for('show_all'))
    return render_template('add.html')


if __name__ == '__main__':
    with app.app_context():
        db.create_all()
    app.run(debug=True)

新增書頁面add.html,示例代碼如下:

<!DOCTYPE html>
<html>
   <body>

      <h3>Flask SQLAlchemy Demo</h3>
      <hr/>

      {%- for category, message in get_flashed_messages(with_categories = true) %}
         <div class = "alert alert-danger">
            {{ message }}
         </div>
      {%- endfor %}

      <form action = "{{ request.path }}" method = "post">
         <label for = "name">name</label><br>
         <input type = "text" name = "name" placeholder = "name" /><br>
         <label for = "price">price</label><br>
         <input type = "text" name = "price" placeholder = "price" /><br>
         <input type = "submit" value = "Submit" />
      </form>

   </body>
</html>

書單列表頁show_all.html,示例代碼如下:

<!DOCTYPE html>
<html lang = "en">
   <head></head>
   <body>
      
      <h3>
         <a href = "{{ url_for('show_all') }}">Flask
            SQLAlchemy Demo</a>
      </h3>
      
      <hr/>
      {%- for message in get_flashed_messages() %}
         {{ message }}
      {%- endfor %}
       
      <h3>Books (<a href = "{{ url_for('add') }}">Add Book
         </a>)</h3>
      
      <table>
         <thead>
            <tr>
               <th>name</th>
               <th>price</th>
            </tr>
         </thead>
         
         <tbody>
            {% for book in books %}
               <tr>
                  <td>{{ book.name }}</td>
                  <td>{{ book.price }}</td>
               </tr>
            {% endfor %}
         </tbody>
      </table>
      
   </body>
</html>

4、效果

大白話說Python+Flask入門(六)Flask SQLAlchemy操作mysql數(shù)據(jù)庫

大白話說Python+Flask入門(六)Flask SQLAlchemy操作mysql數(shù)據(jù)庫

5、知識點

CRUD操作:

  • db.session.add (模型對象) - 將記錄插入到映射表中
  • db.session.delete (模型對象) - 從表中刪除記錄
  • model.query.all() ?- 從表中檢索所有記錄(對應(yīng)于SELECT查詢)。

寫在最后

在寫這部分文章時候,總感覺它跟mybatis很像,比如可以將數(shù)據(jù)從數(shù)據(jù)庫映射到對象,支持創(chuàng)建數(shù)據(jù)庫表和定義數(shù)據(jù)模型,并提供了相應(yīng)的接口及對應(yīng)事務(wù)的操作,直白點說,不用手撕sql。

但就性能來看的話,還是MyBatis好,畢竟是持久層框架,哈哈!文章來源地址http://www.zghlxwxcb.cn/news/detail-749019.html

到了這里,關(guān)于大白話說Python+Flask入門(六)Flask SQLAlchemy操作mysql數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【python】flask操作數(shù)據(jù)庫工具SQLAlchemy,詳細(xì)用法和應(yīng)用實戰(zhàn)

    【python】flask操作數(shù)據(jù)庫工具SQLAlchemy,詳細(xì)用法和應(yīng)用實戰(zhàn)

    ?? 歡迎大家來到景天科技苑?? ???? 養(yǎng)成好習(xí)慣,先贊后看哦~???? ?? 作者簡介:景天科技苑 ??《頭銜》:大廠架構(gòu)師,華為云開發(fā)者社區(qū)專家博主,阿里云開發(fā)者社區(qū)專家博主,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。 ??《博客》:Python全棧,

    2024年04月17日
    瀏覽(32)
  • Flask數(shù)據(jù)庫操作-Flask-SQLAlchemy

    Flask數(shù)據(jù)庫操作-Flask-SQLAlchemy

    Flask中一般使用flask-sqlalchemy來操作數(shù)據(jù)庫。flask-sqlalchemy的使用介紹如下: 一、SQLAlchemy SQLALchemy 實際上是對數(shù)據(jù)庫的抽象,讓開發(fā)者不用直接和 SQL 語句打交道,而是通過 Python 對象來操作數(shù)據(jù)庫,在舍棄一些性能開銷的同時,換來的是開發(fā)效率的較大提升。 SQLAlchemy是一個關(guān)

    2024年02月22日
    瀏覽(27)
  • flask中的操作數(shù)據(jù)庫的插件Flask-SQLAlchemy

    flask中的操作數(shù)據(jù)庫的插件Flask-SQLAlchemy

    Web 開發(fā)中,一個重要的組成部分便是數(shù)據(jù)庫了。Web 程序中最常用的莫過于關(guān)系型數(shù)據(jù)庫了,也稱 SQL 數(shù)據(jù)庫。另外,文檔數(shù)據(jù)庫(如 mongodb)、鍵值對數(shù)據(jù)庫(如 redis)近幾年也逐漸在 web 開發(fā)中流行起來,我們習(xí)慣把這兩種數(shù)據(jù)庫稱為 NoSQL 數(shù)據(jù)庫。 大多數(shù)的關(guān)系型數(shù)據(jù)庫引

    2024年02月09日
    瀏覽(33)
  • 如何使用Flask-SQLAlchemy來管理數(shù)據(jù)庫連接和操作數(shù)據(jù)?

    首先,我們需要安裝Flask-SQLAlchemy。你可以使用pip來安裝它,就像這樣: 好了,現(xiàn)在我們已經(jīng)有了一個可以操作數(shù)據(jù)庫的工具,接下來讓我們來看看如何使用它吧! 首先,我們需要創(chuàng)建一個Flask應(yīng)用對象,并配置數(shù)據(jù)庫的連接字符串和師: 現(xiàn)在,我們已經(jīng)創(chuàng)建了一個數(shù)據(jù)庫,

    2024年02月15日
    瀏覽(46)
  • python:使用Flask-SQLAlchemy對數(shù)據(jù)庫增刪改查的簡單示例

    python:使用Flask-SQLAlchemy對數(shù)據(jù)庫增刪改查的簡單示例

    以下將介紹Flask-SQLAlchemy對數(shù)據(jù)庫增刪改查的簡單示例。 一、安裝所需的庫 pip install flask flask-sqlalchemy flask-mysql 二、創(chuàng)建數(shù)據(jù)表 本示例使用mysql創(chuàng)建數(shù)據(jù)庫和表 CREATE TABLE `user` ( ? `id` int(11) NOT NULL AUTO_INCREMENT, ? `name` varchar(255) DEFAULT NULL, ? `age` int(11) DEFAULT NULL, ? PRIMARY KEY (`id

    2024年02月07日
    瀏覽(36)
  • python Flask項目使用SQLalchemy連接數(shù)據(jù)庫時,出現(xiàn)RuntimeError:Working outside of application context.的解決過程記錄

    在使用python的Flask框架跟著教程編寫項目時,我跟著教程使用了三個文件來組織,分別是main.py(主程序),module.py(數(shù)據(jù)庫模型),controller.py(藍(lán)圖模塊程序,用Blueprint銜接) 在主程序中,創(chuàng)建app、SQLalchemy實例對象db并將二者綁定 在module.py中,導(dǎo)入主程序中的db和app,創(chuàng)建

    2024年02月09日
    瀏覽(22)
  • Flask-數(shù)據(jù)庫-SQLAlchemy

    Flask-數(shù)據(jù)庫-SQLAlchemy

    SQLAlchemy是flask的擴展,是一個功能強大的OR映射器,支持多種數(shù)據(jù)庫后臺,可以將類的對象映射至數(shù)據(jù)庫表。 使用這個工具,可以創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表,并為數(shù)據(jù)庫添加數(shù)據(jù),進行查詢操作等。 參考:Flask SQLAlchemy - Flask 教程 | BootWiki.com ?app=Flask(__name__)? #創(chuàng)建Flask實例 ?app

    2023年04月09日
    瀏覽(24)
  • 簡單易用,靈活強大:用SQLAlchemy實現(xiàn)Python操作數(shù)據(jù)庫

    什么是SQLAlchemy? SQLAlchemy是一個Python的SQL工具和ORM框架,可以通過Python代碼直接操作關(guān)系型數(shù)據(jù)庫,也可以使用ORM模型進行對象關(guān)系映射。它支持多種數(shù)據(jù)庫,并提供了強大的SQL表達(dá)式和查詢API。 SQLAlchemy可以分為兩個部分:Core和ORM。 Core:提供了底層的SQL表達(dá)式和查詢API,

    2024年02月04日
    瀏覽(24)
  • Python 進階(三):Python使用ORM框架SQLAlchemy操作Oracle數(shù)據(jù)庫

    Python 進階(三):Python使用ORM框架SQLAlchemy操作Oracle數(shù)據(jù)庫

    要詳細(xì)連接Oracle數(shù)據(jù)庫并使用SQLAlchemy進行操作,按照以下步驟進行配置和編寫代碼: Oracle Instant Client:Oracle 提供的客戶端庫,可用于在 Python 中連接和操作 Oracle 數(shù)據(jù)庫 訪問 Oracle 官方網(wǎng)站:前往 Oracle 官方網(wǎng)站(instant-client/winx64-64-downloads) 可能需要創(chuàng)建一個免費的 Oracle

    2024年02月11日
    瀏覽(38)
  • Flask-sqlalchemy更新數(shù)據(jù)庫

    Flask-sqlalchemy更新數(shù)據(jù)庫

    Flask開發(fā)過程中,難免不會在開發(fā)工程中修改數(shù)據(jù)庫信息,如添加字段,修改字段類型等,F(xiàn)lask可以通過擴展庫flask-migrate來更新DEBUG中的工程數(shù)據(jù)庫,更新數(shù)據(jù)庫步驟如下: 1、首先需要安裝flask_migrate,pip install flask_migrate 2、因為flask_sqlalchemy是通過終端命令更新,所以需要f

    2023年04月08日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包