栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-09-25 flask初学指南(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-25 flask初学指南(一)

flask 新手教程(一)

为什么使用flask
1,配置简单,因为单模块,他前身就是Werkzeug套件,但是作者嫌它还不够简单,应该单个python就能玩,所以改成这样,事实上也正是如此,造就了python里面最灵活的框架

应用场景,比较小型需要后台处理的页面程序,可视化,读写数据库,api,只要你有一个普通的python+html知识就能写一个挺不错的动态页面了,而且也有挺多的扩展,先挖个坑,以后会详细介绍部分扩展

怎么安装
安装完python之后
pip install flask
然后扩展也是用pip

第一个程序

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'
if __name__ == '__main__':
   app.run(debug=True,port=6500)

app就相当于创建一个application项目吧
app = Flask(name,static_url_path=’/static’) 就是定死static文件夹的位置,为什么一定要指定呢待会会讲,
debug=True 一旦运行就会进入实时的debug状态,你编辑保存,不需要重启,只需要刷新页面就能呈现

@app.route()
就是路由,引号里面可以写路由的位置,可以带参数传递,后面会讲

本质上python 的socket 库也能做到,只是有车轮何必要造呢?
emmm 虽然它是最灵活,但也是比较慢的,练手是绝对挺不错的,新出有个比较快而且和flask高度接近的框架叫fast-api ,以后介绍
对,我就是挖坑,挖很多坑,越多越好。。。。。。

好的继续看以下介绍路由,jinja2template,带参传递,自定义404html
路径结构

abcde.py

templates<-文件夹
		 index.html
static<-文件夹
		1.jpg

py文件放工程根目录,templates和static各自在工程根目录之后 ,放错地方是找不到连接的,注意哦,404.html 放templates

abcde.py

from flask import Flask, render_template, current_app,request,abort
@app.route('/')
def index()
		abc_1='abc'
		img_1='1.jpg'
		return render_template('index.html',abc=abc_1,img=img_1)
@app.route('/data/')
def abcd(data):
		data_1=data
		if data_1=="傻瓜":
			abort(404)
			
        return render_template('errors.html',data=data_1)
@app.errorhandler(404)
def page_not_found(error):
   return render_template('404.html', title = '404'), 404
if __name__ == '__main__':
   app.run(debug=True,port=6500)

index.html




errors.html

{{data}}

404.html

你才是傻瓜嘞,我是404

jinja2是可以支持循环和判断的,格式是 for的话 {% for s in single %}…{% endfor %},先卖个关子下节课再讲

参数传递支持 string ,int, list ,list 并不是讲一个python的list 直接放进去就好,那链接是 ‘/data/132,456’要每个元素跟逗号分隔开,所以如果不多的话可以将那些元素用python连起来成为string再放到该路由的函数里分解,例如 ‘/data/123_456’,然后在传递的路由的函数里是 data_1=data.split(’_’)这样,其实也是可以的

404,大家可以自定义404.html是啥样的,也可以重定向,重定向就下一节课讲吧

emmm 下一节课讲template循环判断,重定向,static的一些细节,懒的写抱歉了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号