网站建设资讯

NEWS

网站建设资讯

flask框架一般要学多久

这篇文章主要介绍flask框架一般要学多久,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联是一家专业的成都网站建设公司,我们专注网站建设、成都网站建设、网络营销、企业网站建设,卖友情链接广告投放为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。

相信学过Python的小伙伴,肯定都知道Flask这个web开发框架,但是并不是所有人都了解它,下面说一说Flask这个框架该怎么学,要学多久才能掌握。

首先,什么是Flask

Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架

Flask中包含一个轻量级的web 服务器主要用于在开发阶段测试使用

Falsk使用MTV框架模式

MTV框架模式

M : Models , 模型层 , 主要负责根据数据库建模

T : Templates , 模板层 ,处理用户的显示的内容的,如:html

V : Views ,视图 , 处理与用户交互的内容(请求和响应)

下面我们从Templates、Views和Models这三个部分来了解下Flask框架

Templates

Templates这部分主要讲解以下几个部分:

过滤器

语法:
{{变量|过滤器}}

Jinja2模板中常用的过滤器有:
capitalize     首字符变大写,其他字符变小写
lower          将值转换为小写字符
upper          将值转换为大写字符
title          将值中的每个单词的首字符变大写
trim           去掉值两端的空格

标签(for循环遍历可迭代对象)

{% for 变量 in 列表|元组|字典 %}
{% endfor %}
for标签中的内置对象loop
loop.index 获取下标
loop.index0 从0开始的下标
loop.first True/False
loop.last  True/False

下面是一个关于Flask中宏的用法的实例:

{% macro showP(str) %}
    

使用宏显示的内容:

    

{{str}}

{% endmacro %}
    {% for name in params.list %}         {{showP(name)}}     {% endfor %}
{% import 'macros.html' as ms %} {% for name in params.list %}     {{ms.show_p(name)}} {% endfor %}

继承

父模板中:
{% block title %}
    父模板中的内容
{% endblock %}

子模板中:
{% extends '父模板.html' %}
{% block title %}
    子模板中的内容
{% endblock %}

子模板中的内容会覆盖父模板中的内容

自定义404/500等错误页面

1.404 的错误处理
	@app.errorhandler(404)
	def page_not_fount(e):
		return render_template('404.html'),404
2.500 的错误处理
	@app.errorhandler(500)
	def internal_server_error(500):
		return render_template('500.html'),500
404.html 和 500.html 需要自定义

Views

Views这部分主要讲解以下几个部分:

路由

请求方法

url反向解析

request对象

响应response

文件上传

cookies

session

路由

一:基本路由的配置:
#http://127.0.0.1:5000/
@app.route('/')
def index():
	return "xxx"

二:带参数路由的配置:
1.基本带参数的路由
@app.route('/show/')
def show1(name):
	name:表示的就是地址栏上传递的数据
	pass
2.指定参数类型的路由
@app.route('/show//')
def show(name,age):
	name : 字符串
	age : 整数
可选的参数类型为 int float path(字符串,可以有斜杠/)

三:多个路由的配置:
@app.route('/地址1')
@app.route('/地址2')
....
def index():
	pass

请求方法

在Flask中默认只能接收get请求,post请求无法接收,但是可以手动设置请求的接收方式。

下面的函数既能接收get请求又能接收post请求
@app.route('/xxx',methods=['POST','GET'])
def  xxx():
    pass

文件上传

html文件:


    

        用户姓名:      

    

        用户图像:      

    

             

后台代码

@app.route('/01-file',methods=['GET','POST'])
def file_views():
    if request.method == 'GET':
        return render_template('01-file.html')
    else:
        #处理的上传的文件
        #1.得到上传的文件
        f = request.files['uimg']
        #2.将文件保存进指定的目录处[相对路径]
        # print('文件名称:'+f.filename)
        # f.save('static/'+f.filename)

        #3.将文件保存进指定的目录处[绝对路径]
        #获取当前文件的所在目录名
        basedir = os.path.dirname(__file__)
        #print('当前文件所在目录的绝对路径:'+basedir)
        #获取当前的时间拼成字符串,再拼上扩展名
        ftime=datetime.datetime.now().strftime("%Y%m%d%H%M%S%f")
        #获取文件的扩展名 (b04.jpg)
        ext = f.filename.split('.')[1]
        filename = ftime + "." + ext
        upload_path = os.path.join(basedir,'static/upload',filename)
        # print('完整的上传路径:'+upload_path)
        f.save(upload_path)
        return "Save OK"

cookies

增:
    resp=make_response('保存cookie成功')
    resp.set_cookie('uname','test',3600)
删:
    响应对象.delete_cookie('key')
查询:
    uname = request.cookies.get('key')
    request.cookies['key']
    request.cookies   # 拿到所有的cookies
    if 'key' in request.cookies:
        pass

session

from flask import session
配置 SECRET_KEY:
      app.config['SECRET_KEY']="thisisarandomstring"
增:
    session['key'] = value
删:
    del session['key']
查:
    value = session['key']
    value = session.get('key')

以上是“flask框架一般要学多久”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


名称栏目:flask框架一般要学多久
标题链接:http://njwzjz.com/article/igcipc.html