第一个flask程序

flask简介:python

  flask是一款很是流行的Python Web框架,出生于2010年,做者是Armin  Ronacher,原本这个项目只是做者在愚人节的一个玩笑,后来因为很是受欢迎,进而成为一个正式的项目。目前为止最新的版本是0.11.1。sql

 

  flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜好,而且在多个公司已经获得了应用,flask能如此流行的缘由,能够分为如下几点:数据库

    微框架、简洁、只能他须要作的,给开发提供了很大的扩展性。flask

    Flask和相关的依赖(Jinja二、Werkzeug)设计得很是优秀,用起来很爽。浏览器

    开发效率很是高,好比使用SQLAlchemy的ORM操做数据库能够节省开发者大量书写sql的时间。服务器

    社会活跃度很是高。app

  Flask的灵活度很是之高,他不会帮你作太多的决策。即便作已经帮你作出选择,你也能很是容易的更换成你须要的,好比:框架

    使用Flask开发数据库的时候,具体是使用SQLAlchemy仍是MonyoEngine或者是不用ORM而直接于MySQL-Python这样的底层驱动进行开发都是能够的,选择权彻底掌握在你本身的手中。区别于Django,Django内置了很是完善和丰富的功能,而且若是你想替换成你本身想要的,要么不支持,要么很是麻烦。函数

    把默认的Jinija2模板引擎替换成Mako引擎或者是其余模板引擎都是很是容易的。url

 

 

### 第一个flask程序讲解:

  1.第一次建立项目的时候,要添加flask的虚拟环境。添加虚拟环境的时候,必定要选择到python这个文件。

  好比你的flask的虚拟环境的目录在/User/Virtualenv/flask-env/bin/python.

  2.flask程序代码的详细解释:

# encoding:utf-8

#从flask这个框架中导入Flask这个类
from flask import Flask

#初始化一个Flask对象
#Falsk()
#须要传递一个参数__name__
#1.方便flask框架区寻找资源
#2.方便flask插件好比Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置
app = Flask(__name__)

#@app.route是一个装饰器
#@开头,而且在函数的上面,说明是装饰器
# 这个装饰器的做用,是作一个url与视图韩式的映射
#127.0.0.1:5000/-->去请求hello_world这个函数,而后将结果返回给浏览器
@app.route('/')
def hello_world():
    return 'Hello World!'

#若是当前这个文件是做为入口程序运行,那么就执行app.run()
if __name__ == '__main__':
    #app.run()
    #启动一个应用服务器,来接受用户的请求
    #while True:
    # listen()

    app.run()

###设置debug模式

1.在app.run()中传入一个关键字参数debug:app.run(debug=True),就设置当前项目为debug模式

2.debug模式的两大功能:

  *当程序出现为题的时候,能够在页面中看到错误信息和出错的位置。

  *只要修改了项目的'python'文件,程序会自动加载,不须要手动从新启动服务器。

 

###使用配置文件:

  1.新建一个‘config.py’文件

  2.在主app文件中导入这个文件。而且配置到'app',示例代码以下:

import config

app.config.from_object(config)

  3.还有许多的其余参数,都是放在这个配置文件中,好比‘SECRET_KEY’和‘SQLALCHEMY’这些配置,都是在这个文件中。

  

###url传参数:

  1.参数的做用:能够在相同的URL,可是指定不一样的参数,来加载不一样的数据。

  2.在flask中如何使用参数:

@app.route('/article/<id>')
def article(id):
    return u'您请求的参数是:%s'% id
*参数须要放在两个尖括号中。
*视图函数中须要放和url中的参数同名的参数

###反转URL:
  1.什么叫作反转URL:从视图函数到url的转换叫作反转url
  2.反转日url的用处:
    *在页面重定向的时候,会使用url反转
    *在模板中,也会使用url反转

###页面跳转和重定向
  1.用处:在用户访问一些须要登陆的页面的时候,若是用户没有登陆,那么可让他重定向到登陆页面
  2.代码实现
、、、
from flask import redirect,url
redirect(url_for('login'))
、、、

 

 

###Flask渲染Jinja2模板和传参:

1.如何渲染模板:

  *模板放在‘templates’文件夹下

  *从‘flask’中导入‘render_template’函数。

  *在视图函数中,使用‘render_template’

  *

相关文章
相关标签/搜索