Flask的安装与使用

Flask的介绍

​ Flask 是python轻量级(微)的web开发框架,相比较django,flask并没有在功能上有所欠缺,只不过更多的选择交给了开发者,如果做一个简单的web开发,比如公司年会内部抽奖系统。假如使用django,那开发者不得不创建一个项目目录,创建一个app,进行settings配置…,但实际上,好多操作是冗余的。使用最少,最贴合项目的文件进行快速的开发,这个就是flask的优势。

​ Flask类似武侠小说当中的匕首,放在高手手里,很致命,但是如果放在正常人手里,只能削苹果。Flask如果是0基础的开发者,很容易手足无措。Flask的好多插件都是仿写django的。

​ Flask将众多配置文件,设置为默认值,初学者最好遵循这一惯例。

在这里插入图片描述

Flask的安装

Flask 在市场当中通常伴随着一个虚拟环境virtualenv,这个虚拟环境的优势:可以将python环境打包到一个目录下,同时上传git,稳定性弱于anaconda。在工作当中有使用,但是不多,我们在学习的时候,不用他(anaconda和virtualenv有冲突)。

使用anaconda环境使用flask

1,创建虚拟环境

conda create -n FlaskPath python=3.5.2

2,安装flask

activate  FlaskPath ——》激活flask环境
pip install flask ——》安装

使用flask

from flask import Flask
app = Flask(__name__)# __name__当前文件
#methods 列表类型的参数,用来描述允许请求的方式,默认是get请求
@app.route('/index/',methods=['GET','POST']) #路由,相当于django的urls
def hello_word():

    return 'hello world' # 返回一个文本,最好返回一个json或者HTML页面

if __name__ == '__main__': # 如果脚本自己运行
    app.run(host='0.0.0.0',port=8000,debug=True) 
#Host 主机 
#port 端口  
#debug 调试(True ,False)
Flask 原理
def __init__(
        self,
        import_name  #实例名称
		static_url_path=None,  #静态文件路由 相当于 Django的 STATIC_URL
		static_folder="static",  #静态文件目录  相当与Django的 STATICFILES_DIRS 
		static_host=None,   #静态文件根目录 相当与Django的 STATICFILES_ROOT 
		host_matching=False, 
		subdomain_matching=False,
		template_folder="templates",  #模板文件根目录 相当与Django的 TEMPLATES
		instance_path=None,
		instance_relative_config=False,
        root_path=None,
    ):
Rule 路由规则:flask的路由必须以/开头

flask的模板系统

​ Flask 默认采用jinja2模块进行模板渲染,jinja2是python三方的一个模板渲染模块,通常用于flask,tornado框架或者自动化运维过程当中配置渲染(saltstack自动化监控模板就是用jinja2编写)。Jinja2的开发大量参照django的模板渲染系统,相似程度到达98%。

静态文件

​ 静态文件,flask默认加载当前目录下的static目录下的静态文件

模板文件

​ 模板文件,flask 默认加载当前目录下的templates目录下的模板文件

数据

​ 使用列表或字典进行模仿,传递参数不用字典直接传参,用变量方式或者字典解包方式

视图+路由
from flask import Flask
from flask import render_template #最基础的模板加载方法

app = Flask(__name__)# __name__当前文件
@app.route('/student/',methods=['GET','POST'])
def student():
    student_list = [
        {'name':'小明', 'age':'19', 'score':'90'},
        {'name':'小强', 'age':'18', 'score':'87'},
        {'name':'小红', 'age':'17', 'score':'89'},
        {'name':'小刚', 'age':'20', 'score':'88'},
        {'name':'小微', 'age':'18', 'score':'87'},
        {'name':'Tom', 'age':'18', 'score':'87'},
    ]
    return render_template("student.html",student_list = student_list)

if __name__ == '__main__': # 如果脚本自己运行
    app.run(host='0.0.0.0',port=8000,debug=True) #


前端渲染
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table>
    <thead>
        <tr>
            <th>姓名</th>
            <th>年龄</th>
            <th>成绩</th>
        </tr>
    </thead>
    <tbody>
        {% for student in student_list %}
        <tr>
            <td>{{ student.name.upper() }}</td>
            <td>{{ student.age }}</td>
            <td>{{ student.score }}</td>
        </tr>
        {% endfor %}

    </tbody>
</table>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值