如何使用 Flask 开发一个增删改查的应用

Posted Python开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用 Flask 开发一个增删改查的应用相关的知识,希望对你有一定的参考价值。


来源:Medium

译文:defshine 

链接:https://segmentfault.com/a/1190000004918694


我们将创建一个简单的数据库驱动的笔记本应用。本教程面向想学习如何使用Flask开发网站或者web应用的初学者。


在学习本教程之前,请先安装好Python和SQLite。如果你还没有在电脑上安装,请先安装。如果你安装的Python版本为2.5或者更高,那么你就无需安装SQLite了,Python 2.5之后的版本都已经内置了SQLite。

Python: https://www.python.org/

SQLite: https://www.sqlite.org/download.html


本教程主要包含的内容:


  • 使用模板

  • 保存一条记录到数据库中

  • 从数据库中获取一条记录

  • 更新数据库中的一条记录

  • 删除数据库中的一条记录


应用的功能:


  • 用户可以创建一篇笔记(一篇笔记包含题目和内容)

  • 用户可以浏览笔记列表

  • 用户可以编辑一篇笔记

  • 用户可以删除一篇笔记


OK,我们开始开发。

首先,我们需要安装Flask和Flask-SQLAlchemy。

打开一个控制台窗口(Windows中的命令行工具),然后逐一运行以下命令:


pip install Flask

pip install Flask-SQLAlchemy


现在,创建一个文件夹,用于存放应用的源代码,我们将这个文件夹命名为note_app。

在刚创建的文件中,创建一个名为main.py的文件。


在本教程中,我们将使用模板,所以,我们继续创建一个文件夹,用于存放模板。使用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


然后,我们创建实际的应用,同时创建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开发专家的技巧。访问: http://treehouse.7eer.net/c/245500/245646/3944


下面,我们将创建一个模型:


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模型将用于对数据库中的笔记进行创建,获取,更新和删除的操作。我们的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()


上面的命令会初始化数据库,它将创建数据库和一个名为note的表。

现在,我们将创建一个函数,并且使用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/。

你应该会看到这个主页:



我们现在这个应用的功能还不完善,在第二部分,我们将开发笔记页面的创建,笔记列表等功能。


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


【今日微信公号推荐↓】

更多推荐请看


以上是关于如何使用 Flask 开发一个增删改查的应用的主要内容,如果未能解决你的问题,请参考以下文章

如何在30分钟完成表格增删改查的前后端框架搭建

浅谈增删改查的意义

WPF如何调用WCF对数据增删改查的服务

[VB] VB实现一个窗体的增删改查的demo

C#.NET,程序怎么实现和SQLITE数据库的连接?以及增删改查的功能?

如何用SSM框架写一个增删改查的功能