什么是Flask

Flask是一个开源的web开发框架,是由Python来实现的。这个框架是基于Jinja2模版引擎和WSGI web应用库。

如何添加mailing Feature

为了让Flask应用程序能够发送Email,需要安装如下拓展包

  1. pip install Flask-Mail
  1. from flask_mail import Mail, Message
  2. from flask import Flask
  3. app = Flask(__name__)
  4. mail = Mail(app)
  5. @app.route("/mail")
  6. def email():
  7. msg = Message("Hello Message", sender="admin@test.com", recipients=["to@test.com"])
  8. mail.send(msg)

为什么使用Flask

Flask是microframework,可以快速创建一个基于networking的web prototyping。

Flask中的blueprint是什么

blueprint用来帮助开发者进行项目目录结构的划分。没有blueprint,所有功能代码都写到init.py中,立马程序就乱了。

Flask默认的端口和地址

默认主机地址是127.0.0.1,端口是5000

如何改变默认的主机地址和端口

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def index():
  5. return "Hello, World!"
  6. if __name__ == "__main__":
  7. app.run(host="0.0.0.0", port=8080)

Flask中如何得到query出来的string

使用get方法从request的object中得到agrument的值

  1. from flask import Flask
  2. from flask import request
  3. app = Flask(__name__)
  4. @app.route("/")
  5. def index():
  6. val = request.args.get("var")
  7. return "Hello, World! {}".format(val)
  8. if __name__ == "__main__":
  9. app.run(host="0.0.0.0", port=8080)

Flask SQLAlchemy如何执行原生的SQL

两种方法,一种是通过session(会话)对象执行execute方法,另外一种是通过cursor(游标)对象执行execute方法

  1. session = scoped_session(SessionFactory)
  2. session.execute('insert user(name) values(:value)', params={'value':'thanlon'})
  1. conn = engine.raw_connection()
  2. cursor = conn.cursor()
  3. cursor.execute('selet * from users')