成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

[譯]如何使用Flask開發(fā)一個增刪改查的應(yīng)用

tianlai / 1311人閱讀

摘要:教程譯文首發(fā)自我的博客我們將創(chuàng)建一個簡單的數(shù)據(jù)庫驅(qū)動的筆記本應(yīng)用。本教程面向想學(xué)習如何使用開發(fā)網(wǎng)站或者應(yīng)用的初學(xué)者。在剛創(chuàng)建的文件中,創(chuàng)建一個名為的文件?,F(xiàn)在,我們將創(chuàng)建一個函數(shù),并且使用裝飾器將它綁定到一個上。

教程譯文首發(fā)自我的博客:Defshine"s Blog

我們將創(chuàng)建一個簡單的數(shù)據(jù)庫驅(qū)動的筆記本應(yīng)用。本教程面向想學(xué)習如何使用Flask開發(fā)網(wǎng)站或者web應(yīng)用的初學(xué)者。
在學(xué)習本教程之前,請先安裝好Python和SQLite。如果你還沒有在電腦上安裝,請先安裝。如果你安裝的Python版本為2.5或者更高,那么你就無需安裝SQLite了,Python 2.5之后的版本都已經(jīng)內(nèi)置了SQLite。
Python: https://www.python.org/
SQLite: https://www.sqlite.org/download.html

本教程主要包含的內(nèi)容:

使用模板

保存一條記錄到數(shù)據(jù)庫中

從數(shù)據(jù)庫中獲取一條記錄

更新數(shù)據(jù)庫中的一條記錄

刪除數(shù)據(jù)庫中的一條記錄

應(yīng)用的功能:

用戶可以創(chuàng)建一篇筆記(一篇筆記包含題目和內(nèi)容)

用戶可以瀏覽筆記列表

用戶可以編輯一篇筆記

用戶可以刪除一篇筆記

OK,我們開始開發(fā)。
首先,我們需要安裝Flask和Flask-SQLAlchemy。
打開一個控制臺窗口(Windows中的命令行工具),然后逐一運行以下命令:

pip install Flask
pip install Flask-SQLAlchemy

現(xiàn)在,創(chuàng)建一個文件夾,用于存放應(yīng)用的源代碼,我們將這個文件夾命名為note_app。
在剛創(chuàng)建的文件中,創(chuàng)建一個名為main.py的文件。

在本教程中,我們將使用模板,所以,我們繼續(xù)創(chuàng)建一個文件夾,用于存放模板。使用templates作為它的名字,它應(yīng)該位于note_app文件夾下面。當我們使用模板時,F(xiàn)lask會自動找到templates文件夾下面的模板,這也是我們將這個文件夾命名為templates的原因。

參考: http://flask.pocoo.org/docs/0.10/quickstart/#rendering-templates

下面,我們開始寫代碼,在main.py文件中

from flask import Flask, render_template, redirect, request
from flask_sqlalchemy import SQLAlchemy
import os

然后,我們創(chuàng)建實際的應(yīng)用,同時創(chuàng)建SQLAlchemy對象,并把它傳遞給應(yīng)用。

app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))
app.config["SQLALCHEMY_DATAB+4ASE_URI"] = "sqlite:///" + os.path.join(basedir, "app.sqlite")
db = SQLAlchemy(app)

獲取成為Python開發(fā)專家的技巧。訪問: http://treehouse.7eer.net/c/245500/245646/3944

下面,我們將創(chuàng)建一個模型:

class Note(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80))
    body = db.Column(db.Text)
    def __init__(self, title, body):
        self.title = title
        self.body = body

上面的這個Note模型將用于對數(shù)據(jù)庫中的筆記進行創(chuàng)建,獲取,更新和刪除的操作。我們的Note模型有一個Integer類型的id屬性,它作為主鍵。title字段是String類型,它最多可以包含80個字符(你可以把字符串的最大值改成你想要的,這里我們只是把它設(shè)置為80),最后是一個Text類型的body屬性。
Integer,String,Text都是數(shù)據(jù)類型,你可以在SQLAlchemy的官方文檔查看到一系列的你可以使用的數(shù)據(jù)類型:http://docs.sqlalchemy.org/en/latest/core/type_basics.html#generic-types

去你的終端窗口,逐一輸入以下命令:

python
from main import db
db.create_all()

上面的命令會初始化數(shù)據(jù)庫,它將創(chuàng)建數(shù)據(jù)庫和一個名為note的表。
現(xiàn)在,我們將創(chuàng)建一個函數(shù),并且使用route()裝飾器將它綁定到一個URL上。

@app.route("/")
def home():
    return render_template("home.html")

大致說來,當用用戶訪問我們網(wǎng)站的主頁(例如:http://mywebsite.com)時,flask就會調(diào)用我們在上面定義的home()函數(shù)。在home()函數(shù)里,我們渲染了一個名為home.html的模板。

參考: http://flask.pocoo.org/docs/0.10/quickstart/#routing

現(xiàn)在,打開home.html,然后復(fù)制下面的內(nèi)容:

Note Taking App

View all notes
Create a note

回到main.py文件中,然后復(fù)制下面的代碼到文件底部:

if __name__ == "__main__":
    app.run(debug=True)

你的main.py文件的內(nèi)容應(yīng)該類似下面這樣:

from flask import Flask, render_template, redirect, request
from flask_sqlalchemy import SQLAlchemy
import os

app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + os.path.join(basedir, "app.sqlite")
db = SQLAlchemy(app)

class Note(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80))
    body = db.Column(db.Text)

    def __init__(self, title, body):
        self.title = title
        self.body = body

@app.route("/")
def home():
    return render_template("home.html")

if __name__ == "__main__":
    app.run(debug=True)

現(xiàn)在,讓我們通過命令在終端窗口中(確保在note_app目錄下運行下面的命令)運行這個應(yīng)用:

python main.py

現(xiàn)在,在瀏覽器里訪問http://127.0.0.1:5000/。
你應(yīng)該會看到這個主頁:

我們現(xiàn)在這個應(yīng)用的功能還不完善,在第二部分,我們將開發(fā)筆記頁面的創(chuàng)建,筆記列表等功能。

教程的源代碼放在Github上:https://github.com/basco-johnkevin/note-taking-app/tree/master/part1

原文地址:How to build a CRUD application using Flask (Python Framework)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/45424.html

相關(guān)文章

  • []如何使用Flask開發(fā)一個刪改查的應(yīng)用(part2)

    摘要:獲取成為開發(fā)專家的技巧。我們可以在兩個文本框輸入筆記的標題和內(nèi)容。在本教程中,我們將使用一個名為的工具。它是一個火狐瀏覽器的擴展,我們可以使用它管理數(shù)據(jù)庫。安裝,打開火狐瀏覽器,點擊,然后點找到的文件夾圖標并點擊它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程譯文首發(fā)...

    adam1q84 評論0 收藏0
  • 用Go語言借助mgo實現(xiàn)一個對MongoDB進行刪改查的demo

    摘要:準備數(shù)據(jù)結(jié)構(gòu)這個以對一個簡單的通訊錄進行插入查詢更新刪除記錄為例,中包含和兩個字段下載還沒出官方的驅(qū)動包,是現(xiàn)在比較流行的第三方包,能找到的相關(guān)資料也比較多。準備實現(xiàn)對的增刪改查操作,先想了下怎么寫測試案例。查找,通過查找該條記錄。 環(huán)境聲明:go version go1.11MongoDB server version 4.0.3 背景 這是我第一次接觸golang和MongoDB,...

    Jingbin_ 評論0 收藏0
  • 使用express+mongoose對mongodb實現(xiàn)刪改查操作

    摘要:項目地址寫在開頭本文主要分享我如何使用對實現(xiàn)增刪改查操作,感謝社區(qū)所有精品文章的幫助,以及的開源項目對我的啟發(fā)。我們這個項目是建立一個班級學(xué)生管理系統(tǒng),能夠?qū)W(xué)生的姓名及學(xué)號進行增刪改查的操作。 項目地址:https://github.com/jrainlau/mongoose_cru... 寫在開頭 本文主要分享我如何使用express+mongoose對mongodb實現(xiàn)增刪改查...

    Markxu 評論0 收藏0
  • 你只知道別人很牛,但是你知道那些編程水平很高的程序員是怎么練成的嗎?

    摘要:要達到水平很高的程序員,第一要找能提供優(yōu)質(zhì)實踐機會的大廠,第二要在諸如高并發(fā)或機器學(xué)習的項目里多解決實際問題,第三還要不斷跳槽,不斷地找更優(yōu)質(zhì)的平臺和更優(yōu)質(zhì)的項目機會。 ...

    booster 評論0 收藏0
  • django項目開發(fā)部署完整案例【最終效果展示】【源碼】【simpleui】【刪改查】

    摘要:最近有個項目需要一個簡單的頁面,為了實現(xiàn)對項目基礎(chǔ)信息增刪改查的功能,于是就用寫了一個,開發(fā)工具是。歷經(jīng)大坑小坑,最終成功上線,這里記錄下整個過程,并分享出源碼,放在文章最后。源碼源碼下載地址提取碼參考下部署項目詳細操作步驟部署 ...

    dcr309duan 評論0 收藏0

發(fā)表評論

0條評論

tianlai

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<