当前位置: 首页 > news >正文

Flask的一些简单代码

import flask
from flask import Flask, render_template, request, session

#最小应用,是一个web服务器,当我们http://192.168.2.48:5000/index  返回一个html网页
#部署在生产环境(nginx/uWGSI 服务器Linux安装)

#内存数据库,全局变量,多线程共享资源(字典)
REGISTER_USERS={}

#创建flask  核心对象 app
app=Flask(__name__)   #名字必须唯一

#向APP核心对象注册一个密钥(是一段文本,加密用的一个输入参数)
app.config["SECRET_KEY"]="123fdsfdsfdsfdsfsdfdsafdsafdsafdsafdsafsfds" # 配置核心对象的秘钥

#创建一个函数(API接口对外提供业务服务)------>装饰器进行注册--------------->flask视图函数
@app.route("/index") #url
def home():

    return render_template("welcome.html")   #返回一个字符串,内容会被浏览器,渲染成一个H5网页


@app.route("/register",methods=["POST"])
def register():
    # 有很多用户,都提交表单。都由这个函数进行处理,但是request 对象,每会话都有一个对象的
    username = request.form['username']  # 获取表单提交的数据 ,使用form属性(字典)
    password = request.form['password']

    REGISTER_USERS[username] = password  # 增加字典项

    print("---------------------------注册逻辑------------------------------")
    # 注册用户保存在字典中
    return render_template("register_success.html")  # 换成json


@app.route("/login", methods=['POST'])
def login():
    # -----------获取 客户端 表单提交的数据
    login_name = request.form['login_name']  # 获取表单提交的数据 ,使用form属性(字典)
    login_password = request.form['login_password']
    # -----------------验证----------------------------
    # 空数据验证:
    if login_name and login_password:

        # 验证是否注册

        if login_name in REGISTER_USERS and REGISTER_USERS[login_name] == login_password:
            # 用户成功登录 ,服务器生成唯一的id
            #  id放在http响应的Set-Cookies: 带过去

            session['LOGINNAME'] = login_name
            return "登陆成功"
        else:
            return "用户名不存在 或者 密码不正确"

    else:

        return "登陆密码或登陆名为空"


@app.route("/bus")
def business():
    if not session.get('LOGINNAME'):

        return "没有登录"

    else:
        print("------------------执行业务操作-------------------------------------")

        return "执行业务操作成功"


@app.route('/quit')
def quit():

    session.clear()

    print("--------------------退出成功-----------------------------------------")

    return 'delete successful!'


if __name__=="__main__":

    app.run(debug=True)  #启动服务器 #4.启动 flask框架自带的服务器(仅仅用于开发和测试功能,不能用于生成)

相关文章:

  • 链路追踪 - SkyWalking
  • 基于NFS共享存储实现KVM虚拟主机动态迁移
  • MySQL之常用存储引擎
  • 动手学习深度学习 02:预备知识
  • dockerkubernets篇(二十六)
  • 9.synchronized的三把锁
  • 为什么开发人员正在成为供应链攻击中的最薄弱环节
  • MySQL之事务、锁
  • 项目第二天
  • Windows与网络基础-10-windows用户管理
  • 计算机网络笔记(王道考研) 第三章:数据链路层
  • apifox 提取cookie字段添加自动鉴权
  • ATF启动(一):整体启动流程
  • 25. Python 字符串的切片方法
  • 接口测试自动化脚本框架4
  • 自己简单写的 事件订阅机制
  • [Vue CLI 3] 配置解析之 css.extract
  • crontab执行失败的多种原因
  • jQuery(一)
  • js作用域和this的理解
  • Mysql优化
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1017 优先队列
  • php ci框架整合银盛支付
  • PHP那些事儿
  • Python_网络编程
  • Python十分钟制作属于你自己的个性logo
  • scrapy学习之路4(itemloder的使用)
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • text-decoration与color属性
  • ViewService——一种保证客户端与服务端同步的方法
  • 构建工具 - 收藏集 - 掘金
  • 后端_MYSQL
  • 深度解析利用ES6进行Promise封装总结
  • 终端用户监控:真实用户监控还是模拟监控?
  • postgresql行列转换函数
  • Python 之网络式编程
  • Spring Batch JSON 支持
  • 如何在招聘中考核.NET架构师
  • ​插件化DPI在商用WIFI中的价值
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)(1.11) SiK Radio v2(一)
  • (1)Nginx简介和安装教程
  • (C语言)fgets与fputs函数详解
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (zhuan) 一些RL的文献(及笔记)
  • (第一天)包装对象、作用域、创建对象
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .NET 5种线程安全集合
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net web项目 调用webService
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 使用ajax控件后如何调用前端脚本