Flask 简介

部署运行你感兴趣的模型镜像

Flask 是一个微框架,主要面向需求简单的小应用 ,让开发者来选择如何存储数据等操作,随意性更强。

Flask创世与2010年年中,尽管Falsk的历史较短,但他能够从以前的框架学到一些东西并且将它的目标设定在了小型项目上

Flask是基于Werkzeug,jinjia2异界美好意愿构想的python微框架

什么是微服务?

微服务架构简单的说就是将整个web应用组织成为一系列的小web服务

微框架的核心意图是将web工程项目的核心部分,同时其余部分可以根据我们的需求任意扩展

PyCharm中对flask支持可直接创建工程12

创建工程后 会得到如下图这样的三级目录结构

123

app.py 可以写一些运行脚本

工程下static文件夹可以用来存放一些网站的css img js 等文件

templates文件内放如需要的html文件

使用flask实现简单的登录程序

app.py 脚本:

from flask import Flask, render_template, request, Response,session
import config
from config_class import *

app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'AAGGCCFFDDEEFFGG'

#使用config。py文件定义配置
app.config.from_object(config)
#使用class定义配置
app.config.from_object(DebugConfig)

@app.route('/')  #路由
def index():
    return render_template('index.html')

@app.route("/login.do",methods=['POST','GET'])
def login():
    userName = request.form.get('userName')#表单提交的数据使用request下面的 form方法
    userPwd = request.form.get('userPwd')

    if userName == 'zhangsan' and userPwd =='123456':
        session['userName'] = 'zhangsan'
        return render_template('index.html')
    elif userName!=None and (userName!='zhangsan'or userPwd!='123456'):
        return render_template('login.html',message='用户名或密码错误!')
        pass
    return render_template('login.html')
    pass


if __name__ == '__main__':
    app.run(host=app.config['SERBER_ADDR'], port=app.config['SERVER_PORT'], debug=True)

添加一个任意的自定义.py文件用来自定义一些需要的文件脚本如函数或者网络端口等

config.py

'''
自定义配置文件
'''
DEBUG = True
SECRET_KEY = 'AAAAAAAAAAAAAAAAA'
PAGE_SIZE = 10

SERBER_ADDR = '10.0.14.90'
SERVER_PORT = 80

简单的定义两个HTML界面

第一页 

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
		</script>
		<style type="text/css">
			a{
				margin-right: 12px;
			}
		</style>
	</head>
	<body style="min-width:1200px;padding: 0px;margin: 0;background-color: lavenderblush;">
		<div id="header" style="width: 100%;margin: 0px;padding: 0px;height: 40px;border: solid 0px red;background-color: white; ">
			<div style="width: 90%;border: solid 0px red;margin-left: 5%;padding: 6px;" align="left">
                <div style="border:solid 0px red;padding: 0px;float: left"></div>
                <div style="border:solid 0px red;padding: 0px;float: right">
                <a href="/login.do">
                    {% if session.get('userName') == None %}
                    登录
                    {% elif session.get('userName') != None %}
                    {{ session.get('userName') }}
                    {% endif %}
                </a></div>
				<a>首页</a><a>首页</a><a>首页</a><a>首页</a><a>首页</a><a>首页</a><a>首页</a><a>首页</a>
			</div>
		</div>
		
	</body>
</html>

第二页

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{{ url_for('static',filename='css/style.css',_external=True) }}"/>
    <link rel="stylesheet" href="static/css/style.css"/>
</head>
<body>
    <form action="/login.do" method="post">
        <table>
            <span color="red">{{ message }}</span>
            <tr>
                <td>
                     用户名:<input type="text" name="userName" />
                </td>
            </tr>
            <tr>
                <td>
                     用户名:<input type="password" name="userPwd" />
                </td>
            </tr>
            <tr>
                <td>
                     <input type="reset" value="重置" />
                     <input type="submit" value="提交" />
                </td>
            </tr>

        </table>
    </form>



</body>
</html>

然后点击app.py运行脚本

点击下面网址 端口号 启动浏览器

得到第一首页登录页面

 

3333

点击登录:

输入用户名密码

因为我们在脚本已经写好用户名:zhangsan 密码 :123456 所以 不支持别的用户名密码

4444

登录页面的样式这里写在了一个css里在上面有提到在文件夹static中可以创建css文件夹存放css文件

这里登录页面css问价如下  不美观见谅!!

style.css

@charset "utf-8";
body{
	text-align: center;
}
div{
	/*background-color: darkgrey !important;
	background-color: #2E8B57 !important;*/
}
table{
	BACKGROUND-COLOR: seagreen;
	font-family: "楷体";
	font-size: 50px;
	width: 400px;
}
TABLE{
	background-color: #FF00FF;	
}

#P1{
	background-color: ghostwhite;
}
#p1{
	background-color: lightgreen;
}
.C1{
	background-color: #FF00FF;
}

.C2{
	font-family: "mv boli";
	font-size: 20;
}
h1,h2,h3,h4,h5{
	color: #2E8B57;
}
ul li .name2{
	
}
a:visited{
	color: white;
}
a:hover{
	color:white;
}


点击提交按钮:

555

可以看到 原来登录连接变成了用户名

 

 

 

                                                                       end

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### NAND Flash简介 NAND Flash 是一种非易失性存储器,广泛应用于各种电子设备中[^1]。它具有高密度和低成本的特点,适合大容量数据存储需求。与 NOR Flash 不同的是,NAND Flash 并不支持随机访问操作,而是采用批量读取的方式,一次可以处理较大的数据块(通常是 16K 字节)[^2]。 #### 工作原理 NAND Flash 的内部结构由多个单元组成,每个单元能够存储一定数量的数据位。水平方向上,4KB 的 cell 单元共用一根 word line,并形成一个 page,而 page 则是 NAND Flash 中最小的读写单位[^4]。除此之外,为了提高可靠性和管理效率,每个 page 还额外分配了 128 字节的空间用于存储管理和错误校正码(ECC)。这种设计使得 NAND Flash 能够更高效地进行大规模数据传输。 在实际应用中,由于其无法直接执行代码特性,许多基于 NAND Flash 的嵌入式系统会配备一小块 NOR Flash 或其他形式的启动芯片来加载初始引导程序[^2]。随后再切换到速度更快、成本更低的 NAND Flash 存储区域完成后续的操作系统加载和其他功能实现过程。 以下是关于如何初始化并控制一个简单的 NAND Flash 设备的一个 Python 示例: ```python class NandFlashController: def __init__(self, device_id): self.device_id = device_id def initialize(self): """ 初始化控制器 """ print(f"Initializing NAND Flash Controller {self.device_id}...") def read_page(self, address): """ 从指定地址读取一页数据 """ data = f"Data from Page at Address {address}" return data def write_page(self, address, content): """ 向指定地址写入一页数据 """ print(f"Writing to Page at Address {address}: {content[:20]}...") # 使用示例 controller = NandFlashController(device_id="NF-001") controller.initialize() data_read = controller.read_page(address=1024) print(data_read) controller.write_page(address=1025, content="Sample Data Written Here"*100) ``` 此代码仅作为逻辑展示之用,具体硬件接口可能因厂商不同有所差异。 问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值