Python Flask之留言板(无数据库)
一个py文件,一个html文件,可以直接运行
py文件
from flask import Flask, request, render_template, redirect, url_for
import time app = Flask(__name__) users = [] # 这里存放所有的留言 @app.route('/say/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
return render_template('index.html', says=users) else:
title = request.form.get('say_title')
text = request.form.get('say')
user = request.form.get('say_user')
date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) users.append({"title": title,
"text": text,
"user": user,
"date": date})
return redirect(url_for('index')) if __name__ == '__main__':
app.run(debug=True, )
index.html:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>留言板</title>
</head>
<body>
<center><h1>留言</h1></center>
<center>
<form action="{{ url_for('index') }}" method="POST">
用户名: <input type="text" name="say_user"><br>
留言标题: <input type="text" name="say_title"><br>
留言内容: <input type="text" name="say"><br>
<button>提交留言</button>
</form>
</center>
<center>
<table border="2">
<thead>
<tr>
<th>标题</th>
<th>内容</th>
<th>用户</th>
<th>留言时间</th>
</tr>
</thead>
<tbody>
{% for say in says %}
<tr>
<td>{{ say['title'] }}</td>
<td>{{ say['text'] }}</td>
<td>{{ say['user'] }}</td>
<td>{{ say['date'] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</center>
</body>
</html>
结果:

Python Flask之留言板(无数据库)的更多相关文章
- Flask实战-留言板-安装虚拟环境、使用包组织代码
Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...
- flask实战-留言板-Web程序开发流程
Web程序开发流程 在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求).项目经理(决定需求的实现方式).开发者(实现需求)等,在这里我们假设自己是一个人全职开发.一般来说一个 ...
- Flask实战-留言板-使用Faker生成虚拟数据
使用Faker生成虚拟数据 创建虚拟数据是编写Web程序时的常见需求.在简单的场景下,我们可以手动创建一些虚拟数据,但更方便的选择是使用第三方库实现.流行的python虚拟数据生成工具有Mimesis ...
- Flask实战-留言板-使用Flask-DebugToolbar调试程序、Flask配置的两种组织形式
使用Flask-DebugToolbar调试程序 扩展Flask-DebugToolbar提供了一系列调试功能,可以用来查看请求的SQL语句.配置选项.资源加载情况等信息.这些信息在开发时会非常有用. ...
- Flask实战-留言板-使用Bootstrap-Flask简化页面编写
使用Bootstrap-Flask简化页面编写 扩展Bootstrap-Flask内置了可以快速渲染Bootstrap样式HTML组件的宏,并提供了内置的Bootstap资源,方便快速开发,使用它可以 ...
- Python 每日一练 | Flask 实现半成品留言板
留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...
- Flask学习之旅--简易留言板
一.写在前面 正所谓“纸上得来终觉浅,方知此事要躬行”,在看文档和视频之余,我觉得还是要动手做点什么东西才能更好地学习吧,毕竟有些东西光看文档真的难以理解,于是就试着使用Flask框架做了一个简易留言 ...
- python基于selenium实现自动删除qq空间留言板
py大法好,让你解放双手. 脚本环境 python环境,selenium库,Chrome webdriver驱动等. 源码 # coding=utf-8 import datetime import ...
- python完成留言板功能
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...
随机推荐
- vue -about
j基于webpack4 搭建vue 环境:https://juejin.im/post/5bc30d5fe51d450ea1328877
- C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】
C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612 string fil ...
- GCD(IV)
死锁:2个任务相互等待造成的. - (void) GCD { NSLog(@"begin"); dispatch_queue_t queue = dispatch_queue_cr ...
- 外网访问ARM嵌入式Linux系统
外网访问ARM嵌入式Linux系统 实验室里的ARM嵌入式Linux系统,只能在局域网内访问,怎样从外网也能访问ARM嵌入式Linux系统? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并 ...
- 剑指offer(30)连续子数组和的最大值
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- 绘制COCO数据集结果
import os import time import datetime import mmcv import cv2 as cv import json import numpy as np im ...
- iOS开发 -------- storyBoard实现控制器添加childViewController
1 拖进去scrollView 添加约束(0,0,0,0); 2 更新scrollView约束,然后在scrollView上面加个view,设置其约束为(0,0,0,0) 和 水平滑动约束; ...
- IDEA的校园邮箱激活方式
链接: https://blog.csdn.net/m0_37286282/article/details/78279060
- 使用Flask部署机器学习模型
Introduction A lot of Machine Learning (ML) projects, amateur and professional, start with an aplomb ...
- 4、zabbix基本配置入门
Zabbix监控流程: Host group --> Hosts(向server端添加被监控主机) --> Application(在agent定义) --> Items(在appl ...