zoukankan      html  css  js  c++  java
  • python中flask--1

    Python Web 框架
    Flask 轻量级WEB框架
    AJAX 在WEB中完成异步请求和响应
    Django 重量级WEB框架

    1.静态网页 和 动态网页
    静态网页:无法与服务器做动态交互的网页
    动态网页:允许与服务器做动态交互的网页
    2.WEB 与 服务器
    1.WEB : 网页(HTML,CSS,JS)
    2.服务器
    能够给用户提供服务的机器就称为 "服务器"
    1.硬件 与 软件
    硬件:一台计算机
    软件:一个能够接受用户请求并给出响应的程序
    1.APACHE
    2.TOMCAT
    3.IIS(Internet Information Service)
    4.Nginx
    2.作用
    1.存储WEB上的信息
    2.能够处理用户的请求(request)并给出响应(response)
    3.执行服务器端的程序
    4.具备一定的安全功能
    3.框架
    1.什么是框架
    框架是一个为了解决开放性问题而存在的一种结构
    框架本身会提供一些基础的功能
    我们只需要在基础功能之上搭建自己的操作即可
    2.Python Web 框架
    1.Flask - 轻量级
    2.WEBPY - 轻量级
    3.Tornado - 异步框架
    4.Django - 重量级框架
    3.框架模式
    1.MTV
    M : Models , 模型层 , 主要负责根据数据库建模
    T : Templates , 模板层 ,处理用户的显示的内容的,如:html
    V : Views ,视图 , 处理与用户交互的内容(请求和响应)
    2.MVC
    M : Models , 模型层 , 主要负责根据数据库建模
    V : Views , 视图层 , 处理用户的显示的内容的,如:html
    C : Controller , 控制器 ,处理与用户交互的内容(请求和响应)

    M --- M
    T --- V
    V --- C
    4.Flask 框架
    1.什么是Flask
    Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架
    Flask中包含一个轻量级的web 服务器主要用于在开发阶段测试使用

    WSGI : Web Server Gateway Interface (WEB服务网关接口)

    2.安装Flask
    1.查看已安装的Flask 及其 版本
    在 python 的交互模式中
    1.import flask
    没报错:已经安装了Flask,可以继续查看版本
    报错:没安装
    2.flask.__version__
    已安装Flask的情况下,查看其版本
    2.安装Flask
    sudo pip3 install flask
    pip3 download flask
    3.Flask 的初始化
    见代码... ...

    练习:
    访问路径:http://localhost:5000/login
    在网页中显示:欢迎访问登录页面
    访问路径:http://localhost:5000/register
    在网页中显示:欢迎访问注册页面

    5.Flask - 路由
    1.什么是路由
    客户端发送请求给服务器,服务器需要将请求发送给Flask程序实例
    程序实例需要知道每个url请求对应的处理代码是谁.所以程序中必须要有一个 url请求地址到python运行函数的一个映射.处理url和函数之间的关系的程序就是"路由"
    2.路由的体现
    在Flask中,路由是通过 @app.route() 装饰器来表示的
    1.路由的基本表示
    #http://127.0.0.1:5000/
    @app.route('/')
    def index():
    return "xxx"
    #http://127.0.0.1:5000/manager/admin/login
    @app.route('/manager/admin/login')
    def login():
    return "xxx"
    2.带参数的路由
    路由中可以携带参数来表示要传递到视图中的数据
    http://localhost:5000/show/laowang
    http://localhost:5000/show/wangwc

    1.基本带参路由
    @app.route('/show/<name>')
    def show1(name):
    name:表示的就是地址栏上传递的数据
    pass
    2.指定参数类型的路由
    允许在声明路由时指定参数类型
    避免了在程序中再转换
    @app.route('/show/<name>/<int:age>')
    def show(name,age):
    name : 字符串
    age : 整数
    int:类型转换器
    Flask中所支持的类型转换器:
    类型转换器 作用
    缺省 字符串,不能有斜杠(/)
    int: 整型
    float: 浮点型
    path: 字符串,可以有斜杠(/)
    3.多 URL 的路由匹配
    为多个url访问地址匹配同一个视图函数
    @app.route('/地址1')
    @app.route('/地址2')
    ....
    def index():
    pass
    练习:
    当访问路径时以下任何一个的时候
    localhost:5000
    localhost:5000/index
    localhost:5000/数字
    localhost:5000/index/数字
    将程序交给index()视图处理函数
    判断路由中到低有没有数字传递进来
    如果有:
    响应:您当前看的页数为:xxx
    如果没有
    响应:您当前看的页数为:1
    3.路由中设置HTTP请求方法
    在Flask中默认只能接收get请求,无法接收post请求
    在Flask中允许设定可以接收的请求方式,
    如果请求方式不匹配的话,会响应回405(Method Not Allowed)

    @app.route('/xxx',methods=['POST','GET'])
    def xxx():
    该函数既能接收post请求也能接收get请求
    4.URL的反向解析
    正向解析:程序自动解析,根据@app.route()中的访问路径,来匹配处理函数
    反向解析:通过视图处理函数的名称自动生成对应的访问路径

    在Flask中要实现反向解析:
    url_for(funName,args)
    funName:要生成地址的函数名
    args:该地址中需要的参数

    6.模板 - Templates
    1.什么是模板
    模板,在Flask中就是允许响应给用户看的网页
    在模板中,允许嵌入动态的内容
    模板最终也会被解析成字符串再响应给客户端,这一过程称为"渲染"

    Flask中,模板是依赖于Jinja2的模板系统
    http://jinja.pocoo.org/
    2.模板的设置
    默认情况下,Flask会在程序目录中搜索一个 templates 的目录
    作为模板的存放目录
    3.模板的渲染
    作用:在视图中,将模板文件(xx.html)渲染成字符串之后,再响应给浏览器
    语法:
    from flask import render_template
    render_template('xxx.html')
    参数:要渲染的模板
    返回值:该模板中的字符串内容

    传递变量到模板中
    render_template('xxx.html',变量=值,变量=值,...)
    在模板中获取变量的值
    {{变量名}}




  • 相关阅读:
    字典树略解
    NOIP2018普及组初赛解题报告
    Codeforces 23A You're Given a String...
    远程消息推送的简单方法
    IOS5,6,7的新特性
    面试问题1
    IOS推送消息的步骤
    C面试问题
    label的自适应文本,让文本自适应
    TCP连接的三次握手,TCP/UDP区别联系,socket连接和http连接的区别
  • 原文地址:https://www.cnblogs.com/sky-ai/p/10036275.html
Copyright © 2011-2022 走看看