【Flask】Flask快速玩框架
快速玩Flask框架,为微博做些准备
from flask importFlask, render_template, session, redirect, url_for, flashfrom flask_bootstrap importBootstrapfrom flask_moment importMomentfrom datetime import datetimefrom flask_wtf importFormfrom wtforms importStringField,SubmitFieldfrom wtforms.validators importRequiredfrom flask_sqlalchemy importSQLAlchemyfrom flask_script importManagerimport osbasedir = os.path.abspath(os.path.dirname(__file__))app =Flask(__name__)#wtf表单验证app.config['SECRET_KEY']='hard to guess string'#数据库URLapp.config['SQLALCHEMY_DATABASE_URI']= \'sqlite:///'+ os.path.join(basedir,'data.sqlite')#每次请求结束后自动提交数据变动app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=Truebootstrap =Bootstrap(app)moment =Moment(app)db =SQLAlchemy(app)manager =Manager(app)#wtf表单类classNameForm(Form):name =StringField('What is your name?', validators=[Required()])submit =SubmitField('Submit')#数据库中的table类classRole(db.Model):__tablename__ ='roles'id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(64), unique=True)users = db.relationship('User', backref='role', lazy='dynamic')def __repr__(self):return'<Role %r>'% self.nameclassUser(db.Model):__tablename__ ='users'id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(64), unique=True, index=True)role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))def __repr__(self):return'<User %r>'% self.username#主页@app.route('/', methods=['GET','POST'])def index():form =NameForm()if form.validate_on_submit():user =User.query.filter_by(username=form.name.data).first()if user isNone:user =User(username=form.name.data)db.session.add(user)session['known']=Falseelse:session['known']=Truesession['name']= form.name.dataform.name.data =''return redirect(url_for('index'))return render_template('user.html', form=form, name=session.get('name'), known=session.get('known',False),current_time=datetime.utcnow())#404页@app.errorhandler(404)def page_not_found(e):return render_template('404.html'),404#500页@app.errorhandler(500)def internal_server_error(e):return render_template('500.html'),500#manager.run() 用于是服务器在命令行运行if __name__ =='__main__':app.run(debug=True)# manager.run()
<!-- 基于bootstrap/base.html的基模板 默认有导航栏 page——content可重写-->{% extends "bootstrap/base.html" %}<!-- 导入moment.js -->{% block scripts %}{{ super() }}{{ moment.include_moment() }}{% endblock %}{% block title %}Flasky{% endblock %}{% block head %}{{ super() }}<linkrel="shortcut icon"href="{{ url_for('static', filename = 'favicon.ico') }}"type="image/x-icon"><linkrel="icon"href="{{ url_for('static', filename = 'favicon.ico') }}"type="image/x-icon">{% endblock %}{% block navbar %}<divclass="navbar navbar-inverse"role="navigation"><divclass="container"><divclass="navbar-header"><buttontype="button"class="navbar-toggle"data-toggle="collapse"data-target=".navbar-collapse"><spanclass="sr-only">Toggle navigation</span><spanclass="icon-bar"></span><spanclass="icon-bar"></span><spanclass="icon-bar"></span></button><aclass="navbar-brand"href="/">Flasky</a></div><divclass="navbar-collapse collapse"><ulclass="nav navbar-nav"><li><ahref="/">Home</a></li></ul></div></div></div>{% endblock %}{% block content %}<!-- 弹出警告信息--><divclass="container">{% for message in get_flashed_messages() %}<divclass="alert alert-warning"><buttontype="button"class="close"data-dismiss="alert">×</button>{{ message }}</div>{% endfor %}{% block page_content %}{% endblock %}</div>{% endblock %}
<!DOCTYPE html>{% extends "base.html" %}{% block title %}Flasky - Page Not Found{% endblock %}{% block page_content %}<divclass="page-header"><h1>Not Found</h1></div>{% endblock %}
【Flask】Flask快速玩框架的更多相关文章
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- 初识Flask、快速启动
目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 一.初识Flask 1.1 什么是flask? Flask 本是作者 Armin Rona ...
- python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示
python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...
- 仿flask写的web框架
某大佬仿flask写的web框架 web_frame.py from werkzeug.local import LocalStack, LocalProxy def get_request_cont ...
- Flask 安装 快速入门
$ pip install flask Flask自带的Server在端口5000上监听: ython app.py flask通过request.form['name']来获取表单的内容. 外部可见 ...
- Inside Flask - Flask 简介
Inside Flask - Flask 简介 前言 Flask 的设计目标是实现一个 wsgi 的微框架,其核心代码保持简单和可扩展性,很容易学习.对于有一定经验初学者而言,跟着例子和一些书的代码来 ...
- Inside Flask - flask.__init__.py 和核心组件
Inside Flask - flask.__init__.py 和核心组件 简单的示例 首先看看一个简单的示例.使用 Flask ,通常是从 flask 模块导入 Flask . request 等 ...
- 快速玩转Apple Pay开发
快速玩转Apple Pay开发 更新时间:2016年02月20日09时25分 来源:传智播客 Apple Pay 2016年2月18日上午,苹果公司宣布,与中国银联达成合作,正式在中国大陆上线Appl ...
- day92:flask:flask简介&基本运行&路由&HTTP请求和响应
目录 1.Flask简介 2.关于使用flask之前的准备 3.flask的基本运行 4.flask加载配置 5.传递路由参数(没有限定类型) 6.传递路由参数(通过路由转换器限定路由参数的类型) 7 ...
随机推荐
- SQL&&LINQ:左(外)连接,右(外)连接,内连接,完全连接,交叉连接,多对多连接
SQL: 外连接和内连接: 左连接或左外连接:包含左边的表的所有行,如果右边表中的某行没有匹配,该行内容为空(NULL) --outer jion:left join or left outer jo ...
- C#中调用Matlab人工神经网络算法实现手写数字识别
手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化 投影 矩阵 目标定位 Matlab 手写数字图像识别简介: 手写 ...
- Centos7下搭建LAMP平台环境 (转载)
1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...
- 用c语言编写直接插入法
#include<stdio.h> //直接插入法 void D_insert(int s[],int n); int main() { int i; ]; printf("pl ...
- tomcat通过conf-Catalina-localhost目录发布项目详解 摘自:http://www.cnblogs.com/iyangyuan/archive/2013/09/12/3316444.html
Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目录下添加配置文件,来发布项目,是最佳选择. 因为这样对tomcat的入侵性最小,只需 ...
- junit基础篇、中级篇-实例代码
学习文章: http://blog.csdn.net/andycpp/article/details/1327147 http://wenku.baidu.com/link?url=C27gDEj0l ...
- guava学习--集合1
Lists: 其内部使用了静态工厂方法代替构造器,提供了许多用于List子类构造和操作的静态方法,我们简单的依次进行说明,如下: newArrayList():构造一个可变的.空的ArrayList实 ...
- 横竖屏切换时候Activity的生命周期的总结
1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+ ...
- echart------属性详细介绍
theme = { // 全图默认背景 // backgroundColor: 'rgba(0,0,0,0)', // 默认色板 color: ['#ff7f50','#87cefa','#da70d ...
- oracle 11g 一直提示 严重: 监听程序未启动或数据库服务未注册到该监听程序
From:http://blog.sina.com.cn/s/blog_6734ea6d0102v6sn.html 增加操作系统环境变量:ORACLE_HOSTNAME=localhost 然后在cm ...