FLask简介、url、视图的简介

一、虚拟环境

1、虚拟环境与系统环境的关系

系统环境包括虚拟环境

2、为什么要创建虚拟环境

不同的项目可能需要不同的包,虚拟环境相当于容器,容器之间相互独立,我们只需要在每个容器里安装我们所需要的依赖包,且不会对其他的容器造成影响。

3、python 创建虚拟环境

(1)、进入到创建好的项目文件里
(根据自己创建文件更改路径)
在这里插入图片描述
(2)、pipenv shell
提示:pienv 未安装的 需要先安装pipenv pip install pipenv
创建并启动虚拟环境
在这里插入图片描述
(这里已提前安装好虚拟环境,pipenv shell命令结果 可能不一样)

二、Flask简介

1、Flask的优点

(1)、微框架、简洁、给开发者提供很大的扩展性
(2)、Flask和相应的插件写的很好
(3)、开发效率非常高

2、第一个Flask程序

from flask import Flask

app = Flask(__name__)  # 实例化类

#  __name__ = '__main__'


@app.route('/')  # 装饰器 路由 访问地址
def hello_world():
    return 'hello world'


if __name__ == '__main__': # 启动函数
    app.run()  # 运行

运行结果
在这里插入图片描述
点击图中的链接 http://127.0.0.1:5000/ (本地链接)

得到结果
在这里插入图片描述

3、设置debug模式

打开debug 模式 便于编程找错

在这里插入图片描述

输出 debug mode :off

在这里插入图片描述
输出 debug mode: on

1、debug 的几种打开方式

from flask import Flask

app = Flask(__name__)  # 实例化类

 #  __name__ = '__main__'


@app.route('/')  # 装饰器 路由 访问地址
def hello_world():
    return 'hello world'


if __name__ == '__main__': # 启动函数

	# 第一种打开方式  
    # app.run(debug=True)  
    
    # 第二种打开方式  
    # app.debug = True
    # app.run()  # 运行
	
	# 第三种打开方式  
	# app.config.update({'DEBUG':True}) # DEBUG 需要大写
    # app.run()
    
 # 四种打开方式  
    # app.config.update(DEBUG=True) # DEBUG 需要大写
    # app.run()

三、配置文件

创建一个py文件 在py文件里进行配置
from 文件名 (同文件夹里)

from flask import Flask
import config

app = Flask(__name__)  # 实例化类


@app.route('/')  # 装饰器 路由 访问地址
def hello_world():
    return 'hello world'


if __name__ == '__main__':  # 启动函数

    #第一种方式
    # app.config.from_object('config')
    # app.run()
    
    # 第二种方式
    # app.config.from_pyfile('config.py')
    # app.run()

四、url和视图

其中,尖括号是固定写法,语法为,variable默认的数据类型是字符串。如果需要指定类型,则要写成converter:variable,其中converter就是类型名称,
可以有以下几种
• string: 默认的数据类型,接受没有任何斜杠/的字符串。
• int: 整形
• float: 浮点型。
• path: 和string类似,但是可以传递斜杠/。
• uuid: uuid类型的字符串。
• any:可以指定多种路径

from flask import Flask

app = Flask('__name__')


@app.route('/')
def hello():
    return 'hello world'


@app.route('/list/<int:sid>')  # 整形
def name1(sid):
    return '第{}岁'.format(sid)


@app.route('/list/<string:sid1>')  # 字符串 接收没有‘/’的任何字符串
def name2(sid1):
    return '第{}岁'.format(sid1)


@app.route('/list/<string:sid2>')  # 浮点型
def name3(sid2):
    return '第{}岁'.format(sid2)


@app.route('/list/<path:sid3>')  # 跟string类似 但可以接收'/' 并默认为字符串的形式
def name4(sid3):
    return '第{}岁'.format(sid3)


@app.route('/<any(dict, tuple):sid4>/')  # 传多个地址
def name5(sid4):
    return sid4


if __name__ == '__main__':
    app.run(debug=True)

五、模拟网络

from flask import Flask, request  
# impoet request 会出错

app = Flask('__name__')


@app.route('/ie')
def baidu():
    return request.args.get('name')


if __name__ == '__main__':
    app.run(debug=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值