Flask(一):flask环境搭建+flask传参+request请求+静态文件

轻量级框架:flask web.py  tornado  开发灵活,开发效率低,真正的体现程序员的水平。

重量级框架:django,方便程序员开发,提供大量的功能组件(站点管理,csrf-token,富文本,缓存,日志,ORM)

flask版本:1.1.1

flask提供了什么:

  • flask只能够完成最简单的请求响应
  • jinjia2模板系统
  • werkzeug 工具箱(wsgi)
  • 插件

开始flask

1、创建虚拟环境

conda create -n FlaskPath python=3.5.2

启动虚拟环境

activate FlaskPath

2、安装flask

pip install flask == 1.1.1

3、使用flask

启动

python hello.py

默认在5000的端口

4、Flak()参数

import_name:

  • flask程序所在的目录,所在的包位置,传__name__
  • 决定了flask静态文件,模板文件的寻找地址

static_url_path

  • 静态文件的访问地址,可以不穿,默认为 / +static_folder

template_folder

  • 模板文件的存储位置,可以不穿,默认为templates

5、路由

flask中的路由跟django中的路由有区别

django中使用路由: urls.py    path("//",视图)

flask路由  使用装饰器 

@app.route("/index/")

def index():

写路由 需要注意:

  1. url应该以/ 开头
  2. url写法 标准的是 /  /

      3. 视图函数不能重名

      4. 习惯:将视图函数的名字命名为 路由的名字

路由传参

转换器语法

<>叫转换器语法,默认为string类型

  • 路由中使用了<user name>
  • 视图中增加参数 username

类型:

string  默认类型

int  整型

float 浮点型

path:包含斜杠的路径,通常用于路径的拼接

http://timgsa.baidu.com/timg?src=http://xxxxx.nipic.com

http://timgsa.baidu.com/timg/http://xxxx.nipc.com

 

uuid:通用唯一识别码

 

请求

django:

request.method

request.GET.get()

request.POST.get()

flask get请求

默认支持get请求

获取get请求的参数

 

post请求

flask默认不支持post请求

解决:增加请求方式

获取post请求参数

request

  • from flask import request
  • 请求上下文
  • args 获取get请求的参数
  • form 获取post请求的参数
  • cookies 获取cookie
  • method  获取请求方式 POST GET
  • url  获取请求url地址
  •  file 获取请求上传的文件
  • headers 请求报文的头

静态文件

django  配置settings中增加 static目录位置

flask中使用静态文件

在flask启动文件的同目录创建static目录,可以通过修改Flaks参数修改static目录

 

模板

在脚本文件统计目录创建templates目录,可以通过修改flask参数改变模板文件的目录

flask使用的是jinjia2的模板系统

  • 调用静态模板  : render_template("html")
  • 传递数据
  • 变量的传递

变量传递的第二种方法

第三种方法

模板语法

<h1>我是  index </h1>
<h2>变量的使用</h2>
{{ name }}
{{age}}
<hr>
<h2> </h2>
{{name.upper()}}
{{name.replace("e","xxxx")}}
<hr>
{{name.1}}
{{name + "好水"}}
{{name.split("l")}}

<h2>jinja2循环</h2>
    {% for one in name %}
        {{one}}<br>
    {% endfor%}
<h2>jinja2判断</h2>
    {% if name == "hello"%}
        {{name}}
    {% else %}
        <span>没有名字</span>
    {% endif %}


{{ mydict.get("yuwen") }}

{% for key,value in mydict.items() %}
    {{key}}:{{value}}
{% endfor %}

模板继承

base.html

{% block title %} {%endblock%}

子页面

{% extends "base.html"%}

{% block title %} 子页面{%endblock%}

 

base页面 提取公共部分 ,修改静态文件位置,增加block

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值