国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

tianlai / 1254人閱讀

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

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

我們將創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)驅(qū)動(dòng)的筆記本應(yīng)用。本教程面向想學(xué)習(xí)如何使用Flask開(kāi)發(fā)網(wǎng)站或者web應(yīng)用的初學(xué)者。
在學(xué)習(xí)本教程之前,請(qǐng)先安裝好Python和SQLite。如果你還沒(méi)有在電腦上安裝,請(qǐng)先安裝。如果你安裝的Python版本為2.5或者更高,那么你就無(wú)需安裝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ù)庫(kù)中

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

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

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

應(yīng)用的功能:

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

用戶可以瀏覽筆記列表

用戶可以編輯一篇筆記

用戶可以刪除一篇筆記

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

pip install Flask
pip install Flask-SQLAlchemy

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

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

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

下面,我們開(kāi)始寫(xiě)代碼,在main.py文件中

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

然后,我們創(chuàng)建實(shí)際的應(yīng)用,同時(shí)創(chuàng)建SQLAlchemy對(duì)象,并把它傳遞給應(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開(kāi)發(fā)專家的技巧。訪問(wèn): http://treehouse.7eer.net/c/245500/245646/3944

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

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

上面的這個(gè)Note模型將用于對(duì)數(shù)據(jù)庫(kù)中的筆記進(jìn)行創(chuàng)建,獲取,更新和刪除的操作。我們的Note模型有一個(gè)Integer類型的id屬性,它作為主鍵。title字段是String類型,它最多可以包含80個(gè)字符(你可以把字符串的最大值改成你想要的,這里我們只是把它設(shè)置為80),最后是一個(gè)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()

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

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

大致說(shuō)來(lái),當(dāng)用用戶訪問(wèn)我們網(wǎng)站的主頁(yè)(例如:http://mywebsite.com)時(shí),flask就會(huì)調(diào)用我們?cè)谏厦娑x的home()函數(shù)。在home()函數(shù)里,我們渲染了一個(gè)名為home.html的模板。

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

現(xiàn)在,打開(kāi)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)在,讓我們通過(guò)命令在終端窗口中(確保在note_app目錄下運(yùn)行下面的命令)運(yùn)行這個(gè)應(yīng)用:

python main.py

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

我們現(xiàn)在這個(gè)應(yīng)用的功能還不完善,在第二部分,我們將開(kāi)發(fā)筆記頁(yè)面的創(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45424.html

相關(guān)文章

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

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

    adam1q84 評(píng)論0 收藏0
  • 用Go語(yǔ)言借助mgo實(shí)現(xiàn)一個(gè)對(duì)MongoDB進(jìn)行刪改查的demo

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

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

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

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

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

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

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

    dcr309duan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<