11 2019 档案
摘要:数据库安装Flask-SQLAlchemy扩展库pip install flask-sqlalchemy引入SQLAlchemy类from flask_sqlalchemy import SQLAlchemy配置数据库MySQL
阅读全文
摘要:Flask-Momentpip install flask-moment除了moment.js,Flask-Moment 还依赖jquery.js。但是Bootstrap 已经引入了jquery.js,因此只需引入moment.js 即可。templates/base.html:引入moment.js 库{% extends "bootstrap/base.html" %}{% import "b...
阅读全文
摘要:Flash消息from flask import flash渲染Flash消息,在基模板base.html中引入get_flashed_messages(){% extends "bootstrap/base.html" %}{% import "bootstrap/wtf.html" as wtf %}{% block title %}Flasky{% endblock %}{#引入moment...
阅读全文
摘要:重定向和用户会话因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求。如果这个请求是一个包含表单数据的POST 请求,刷新页面后会再次提交表单。基于这个原因,最好别让Web 程序把POST 请求作为浏览器发送的最后一个请求。为了解决这个问题,我们可以使用重定向作为POST 请求的响应。但这种方法会带来另一个问题。程序处理POST 请求时,使用form.name.data 获取用户输入的名字,...
阅读全文
摘要:表单 Flask-WTF 项目结构 为了实现CSRF 保护,Flask-WTF 需要程序设置一个密钥。Flask-WTF 使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪。 为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中。 首先,导入flask_wtf库,并从中引入Flask
阅读全文
摘要:index.py base.html index.html 404.html 运行结果
阅读全文
摘要:Jinja2模板 默认情况下,Flask 在程序文件夹中的templates 子文件夹中寻找模板。 Jinja2 中的extends 指令从Flask-Bootstrap 中导入bootstrap/base.html, 从而实现模板继承。 bootstrap/base.html基模板中存在navba
阅读全文
摘要:新建项目 目录结构 Index.html Index.py 运行结果
阅读全文