摘要:教程譯文首發(fā)自我的博客我們將創(chuàng)建一個簡單的數據庫驅動的筆記本應用。本教程面向想學習如何使用開發(fā)網站或者應用的初學者。在剛創(chuàng)建的文件中,創(chuàng)建一個名為的文件。現在,我們將創(chuàng)建一個函數,并且使用裝飾器將它綁定到一個上。
教程譯文首發(fā)自我的博客:Defshine"s Blog
我們將創(chuàng)建一個簡單的數據庫驅動的筆記本應用。本教程面向想學習如何使用Flask開發(fā)網站或者web應用的初學者。
在學習本教程之前,請先安裝好Python和SQLite。如果你還沒有在電腦上安裝,請先安裝。如果你安裝的Python版本為2.5或者更高,那么你就無需安裝SQLite了,Python 2.5之后的版本都已經內置了SQLite。
Python: https://www.python.org/
SQLite: https://www.sqlite.org/download.html
使用模板
保存一條記錄到數據庫中
從數據庫中獲取一條記錄
更新數據庫中的一條記錄
刪除數據庫中的一條記錄
應用的功能:用戶可以創(chuàng)建一篇筆記(一篇筆記包含題目和內容)
用戶可以瀏覽筆記列表
用戶可以編輯一篇筆記
用戶可以刪除一篇筆記
OK,我們開始開發(fā)。
首先,我們需要安裝Flask和Flask-SQLAlchemy。
打開一個控制臺窗口(Windows中的命令行工具),然后逐一運行以下命令:
pip install Flask pip install Flask-SQLAlchemy
現在,創(chuàng)建一個文件夾,用于存放應用的源代碼,我們將這個文件夾命名為note_app。
在剛創(chuàng)建的文件中,創(chuàng)建一個名為main.py的文件。
在本教程中,我們將使用模板,所以,我們繼續(xù)創(chuàng)建一個文件夾,用于存放模板。使用templates作為它的名字,它應該位于note_app文件夾下面。當我們使用模板時,Flask會自動找到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)建實際的應用,同時創(chuàng)建SQLAlchemy對象,并把它傳遞給應用。
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模型將用于對數據庫中的筆記進行創(chuàng)建,獲取,更新和刪除的操作。我們的Note模型有一個Integer類型的id屬性,它作為主鍵。title字段是String類型,它最多可以包含80個字符(你可以把字符串的最大值改成你想要的,這里我們只是把它設置為80),最后是一個Text類型的body屬性。
Integer,String,Text都是數據類型,你可以在SQLAlchemy的官方文檔查看到一系列的你可以使用的數據類型:http://docs.sqlalchemy.org/en/latest/core/type_basics.html#generic-types
去你的終端窗口,逐一輸入以下命令:
python from main import db db.create_all()
上面的命令會初始化數據庫,它將創(chuàng)建數據庫和一個名為note的表。
現在,我們將創(chuàng)建一個函數,并且使用route()裝飾器將它綁定到一個URL上。
@app.route("/") def home(): return render_template("home.html")
大致說來,當用用戶訪問我們網站的主頁(例如:http://mywebsite.com)時,flask就會調用我們在上面定義的home()函數。在home()函數里,我們渲染了一個名為home.html的模板。
參考: http://flask.pocoo.org/docs/0.10/quickstart/#routing
現在,打開home.html,然后復制下面的內容:
Note Taking App
View all notes
Create a note
回到main.py文件中,然后復制下面的代碼到文件底部:
if __name__ == "__main__": app.run(debug=True)
你的main.py文件的內容應該類似下面這樣:
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)
現在,讓我們通過命令在終端窗口中(確保在note_app目錄下運行下面的命令)運行這個應用:
python main.py
現在,在瀏覽器里訪問http://127.0.0.1:5000/。
你應該會看到這個主頁:
我們現在這個應用的功能還不完善,在第二部分,我們將開發(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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/45424.html
摘要:獲取成為開發(fā)專家的技巧。我們可以在兩個文本框輸入筆記的標題和內容。在本教程中,我們將使用一個名為的工具。它是一個火狐瀏覽器的擴展,我們可以使用它管理數據庫。安裝,打開火狐瀏覽器,點擊,然后點找到的文件夾圖標并點擊它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程譯文首發(fā)...
摘要:準備數據結構這個以對一個簡單的通訊錄進行插入查詢更新刪除記錄為例,中包含和兩個字段下載還沒出官方的驅動包,是現在比較流行的第三方包,能找到的相關資料也比較多。準備實現對的增刪改查操作,先想了下怎么寫測試案例。查找,通過查找該條記錄。 環(huán)境聲明:go version go1.11MongoDB server version 4.0.3 背景 這是我第一次接觸golang和MongoDB,...
摘要:項目地址寫在開頭本文主要分享我如何使用對實現增刪改查操作,感謝社區(qū)所有精品文章的幫助,以及的開源項目對我的啟發(fā)。我們這個項目是建立一個班級學生管理系統,能夠對學生的姓名及學號進行增刪改查的操作。 項目地址:https://github.com/jrainlau/mongoose_cru... 寫在開頭 本文主要分享我如何使用express+mongoose對mongodb實現增刪改查...
摘要:要達到水平很高的程序員,第一要找能提供優(yōu)質實踐機會的大廠,第二要在諸如高并發(fā)或機器學習的項目里多解決實際問題,第三還要不斷跳槽,不斷地找更優(yōu)質的平臺和更優(yōu)質的項目機會。 ...
摘要:最近有個項目需要一個簡單的頁面,為了實現對項目基礎信息增刪改查的功能,于是就用寫了一個,開發(fā)工具是。歷經大坑小坑,最終成功上線,這里記錄下整個過程,并分享出源碼,放在文章最后。源碼源碼下載地址提取碼參考下部署項目詳細操作步驟部署 ...
閱讀 843·2023-04-25 19:40
閱讀 3498·2023-04-25 17:41
閱讀 3013·2021-11-11 11:01
閱讀 2634·2019-08-30 15:55
閱讀 3234·2019-08-30 15:44
閱讀 1363·2019-08-29 14:07
閱讀 488·2019-08-29 11:23
閱讀 1331·2019-08-27 10:54