一个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之留言板(无数据库)的更多相关文章

  1. Flask实战-留言板-安装虚拟环境、使用包组织代码

    Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...

  2. flask实战-留言板-Web程序开发流程

    Web程序开发流程 在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求).项目经理(决定需求的实现方式).开发者(实现需求)等,在这里我们假设自己是一个人全职开发.一般来说一个 ...

  3. Flask实战-留言板-使用Faker生成虚拟数据

    使用Faker生成虚拟数据 创建虚拟数据是编写Web程序时的常见需求.在简单的场景下,我们可以手动创建一些虚拟数据,但更方便的选择是使用第三方库实现.流行的python虚拟数据生成工具有Mimesis ...

  4. Flask实战-留言板-使用Flask-DebugToolbar调试程序、Flask配置的两种组织形式

    使用Flask-DebugToolbar调试程序 扩展Flask-DebugToolbar提供了一系列调试功能,可以用来查看请求的SQL语句.配置选项.资源加载情况等信息.这些信息在开发时会非常有用. ...

  5. Flask实战-留言板-使用Bootstrap-Flask简化页面编写

    使用Bootstrap-Flask简化页面编写 扩展Bootstrap-Flask内置了可以快速渲染Bootstrap样式HTML组件的宏,并提供了内置的Bootstap资源,方便快速开发,使用它可以 ...

  6. Python 每日一练 | Flask 实现半成品留言板

    留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...

  7. Flask学习之旅--简易留言板

    一.写在前面 正所谓“纸上得来终觉浅,方知此事要躬行”,在看文档和视频之余,我觉得还是要动手做点什么东西才能更好地学习吧,毕竟有些东西光看文档真的难以理解,于是就试着使用Flask框架做了一个简易留言 ...

  8. python基于selenium实现自动删除qq空间留言板

    py大法好,让你解放双手. 脚本环境 python环境,selenium库,Chrome webdriver驱动等. 源码 # coding=utf-8 import datetime import ...

  9. python完成留言板功能

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

随机推荐

  1. Java发送邮件功能

    package com.hd.all.test.testjava; import java.util.Properties; import javax.mail.Address; import jav ...

  2. pandas处理时间序列(2):DatetimeIndex、索引和选择、含有重复索引的时间序列、日期范围与频率和移位、时间区间和区间算术

    一.时间序列基础 1. 时间戳索引DatetimeIndex 生成20个DatetimeIndex from datetime import datetime dates = pd.date_rang ...

  3. 使用PageHelper插件分页结合mybatis返回的列表个数不对问题解决

    问题描述:spring mvc+mybatis项目中,当使用PageHelper插件进行分页查询时,查到的总数据量值是正确的,但是查询当前页返回的列表个数不对.比如每页查询10条,返回2条或者3条.r ...

  4. fiddler学习总结--手机端(APP/微信小程序)抓包

    步骤一.手机和电脑要在同一个局域网中 步骤二.完成fiddler的基本配置,与web端抓包一样: TOOLS-->options-->connections-->1.设置端口:2.勾 ...

  5. Nginx 解析PHP的原理 | CGI、FastCGI及php-fpm的关系

    Nginx解析PHP的原理,CGI/FastCGI以及PHP-Fpm的关系. 一.PHP+Nginx应运而生的场景.随着互联网的发展,用户对此接受面广,数据流的增大使得Web端的运行承载压力日益增大, ...

  6. SVN拉分支,合并分支

    前提是:本地已安装SVN,且在SVN中新建好branch和tag目录 拉分支: 把svn内容下载到本地,然后右键TortoiseSVN-->Branch/tag... 上图中红框选择存放的路径, ...

  7. latch release ......

    MainControl_cfg.c brings error:  not defined. /* e_TIMER_MCtrlLatchReleaseTime  */     TIMER_ID_MCtr ...

  8. 03:open-falcon报警定制

    1.1 配置报警 11111111111111111111

  9. 性能测试监控工具nmon详解和分析

    性能测试监控工具nmon详解和分析 1.命令安装 1.查看liunx版本版本x86_64_14i 目录:cd /nmon/logs/ 版本x86_64_14i [root@localhost u06] ...

  10. Bugku-CTF之网站被黑(这个题没技术含量但是实战中经常遇到)

    Day11   网站被黑   http://123.206.87.240:8002/webshell/