教程译文首发自个人博客:Defshine's Blog html
咱们将建立一个简单的数据库驱动的笔记本应用。本教程面向想学习如何使用Flask开发网站或者web应用的初学者。
在学习本教程以前,请先安装好Python和SQLite。若是你尚未在电脑上安装,请先安装。若是你安装的Python版本为2.5或者更高,那么你就无需安装SQLite了,Python 2.5以后的版本都已经内置了SQLite。
Python: https://www.python.org/
SQLite: https://www.sqlite.org/download.htmlpython
使用模板git
保存一条记录到数据库中github
从数据库中获取一条记录web
更新数据库中的一条记录sql
删除数据库中的一条记录数据库
用户能够建立一篇笔记(一篇笔记包含题目和内容)django
用户能够浏览笔记列表flask
用户能够编辑一篇笔记浏览器
用户能够删除一篇笔记
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的模板。
如今,打开home.html,而后复制下面的内容:
<h3>Note Taking App</h3> <a href="/notes">View all notes</a> <br> <a href="/notes/create">Create a note</a>
回到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
原文地址:How to build a CRUD application using Flask (Python Framework)