本练手项目的码云地址为 : https://gitee.com/fuyi2333/flask
鉴于本人学的为纯后端 对于前端的理解很少 这里被迫无奈只要显示出信息 就算完成
分析 :一个标准的留言板
有姓名 留言内容 提交
其他人留言的内容 留言时间

我们首先
配置数据库

    db.init_app(app)with app.app_context():    #上下文创建数据库db.create_all()

以及在配置文件中配置数据库地址 具体配置在flask基础数据库中

配置表单内容
在上面提到的create_app()中添加

 from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField
from wtforms.validators import DataRequired, Lengthclass MessagesForm(FlaskForm):name = StringField(label='用户名', validators=[DataRequired(), Length(1, 20, message='请输入正确的名称')],render_kw={'placeholder': '请输入你的名字'})body = StringField(label='留言', validators=[DataRequired(), Length(1, 100, message='你输入的内容过长或过短')],render_kw={'placeholder': '留下你想说的话'})submit = SubmitField('留言')

上述表单实现了对于输入验证留言的验证
数据库配置

from datetime import datetime
from sqlalchemy import Columnfrom blog.models import dbclass Message(db.Model):id = Column(db.Integer,primary_key=True)name = Column(db.String(20))body = Column(db.String(100))timestamp = Column(db.DateTime, default=datetime.now,index=True)

上述数据库实现了保存姓名 内容 和 时间
视图函数

from flask import flash, redirect, url_for, render_templatefrom blog.forms.messages import MessagesForm
from blog.models import db
from blog.models.messages import Message
from blog.view import web@web.route('/', methods=['GET', 'POST'])
def blog():form = MessagesForm()messages = Message.query.order_by(Message.timestamp.desc()).all()# 排序方法if form.validate_on_submit():name = form.name.databody = form.body.datamessage = Message(name=name, body=body)db.session.add(message)db.commit()  # 提交会话flash('留言成功')return redirect(url_for('blog'))  # 留言成功后重定向刷新页面return render_template('hello.html', form=form, messages=messages)表单和数据库读取数据

html文件显示
非常丑陋的html文件如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>留言板</title>
</head>
<body>
<a>------------------------------------------------------</a>
{% for i in messages %}<p>{{ i.name }}<br>{{ i.body }}<br>{{ i.timestamp }}<br><a>------------------------------------------------------</a></p>
{% endfor %}
<form method="post">{{ form.csrf_token }}
{#    #这里为验证安全性#}{{ form.name.label }}<br>{{ form.name }}<br><br>{{ form.body.label }}<br>{{ form.body }}<br><br>{{ form.submit }}<br>
</form>
</body>
</html>

做出来的效果如下

flask 进阶:留言板相关推荐

  1. pythonflask留言板_python入门篇1:基于flask的留言板网站实现

    声明:以下内容是本人大二在某公司实习时学习python做的一个小练习!代码风格比较差,不怎么优美!还请大家指教! 一.题目与背景知识说明 (1)题目描述 学习flask,并编写一个基于flask技术的 ...

  2. guestbook.php注入,php防注入留言板(simple)

    新手学php,试手案例便是留言板.以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视). 最近学习了php访问MySQL数据库的一些知识,重写了一下留言 ...

  3. Django框架简介-初级(简单留言板)

    Django框架(综合各方知识) 介绍Django和设计模式 CGI方式开发web MVC 设计模式 web各部分说明 主要内容 结构说明 必要步骤 简单体验留言板 进阶留言板:css和html分离, ...

  4. python+Mysql+flask架构的在线留言板实战

    在线留言板实战项目说明文档 用python操作mysql完成一个在线留言板系统 1.设计留言板表 2.通过python语言实现 1 项目基本功能 留言板系统主要功能:(要求使用类实现) 1.显示留言板 ...

  5. 子沐课堂——Flask留言板

    1.flask安装 pip install flask 2.入口文件配置 代码如下: #-*- coding:utf-8 -*- from flask import Flask,render_temp ...

  6. android中留言板功能,js 实现简易留言板功能

    无标题文档 li{list-style:none;} li{position:relative;width:500px;} a{position:absolute;right:10px;} var c ...

  7. Tornado入门案例:留言板

    Tornado入门案例:留言板 前言 Tornado框架 实操:搭建一个hello world 完整代码与前端页面 前言 所使用的框架:Torndao框架 python 主流的开发框架 Tornado ...

  8. php留言板入门教程,一个php留言板实例详解(附源码下载)

    我的留言板 $username = isset($_REQUEST['username']) ? $_REQUEST['username'] : '';   //姓名 $sex = isset($_R ...

  9. mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法

    织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...

最新文章

  1. 看完这篇 Linux 权限,通透了!
  2. C++ 与 JAVA区别
  3. 《剑指offer》c++版本 15.二进制中1的个数
  4. 这里有8个流行的Python可视化工具包,你喜欢哪个?
  5. dotnet vs code mysql_.net 5 用vs code链接mysql体验
  6. linux 安装nvm ,管理多版本nodejs
  7. 学习nodejs之hello world
  8. Dedecms V5.7后台的两处getshell
  9. Hadoop-MapReduce
  10. java nio 2_Java NIO2:NIO概述
  11. Java开发工程师如何做好职业规划和成长路线
  12. 不要效法世界只要爱天父
  13. 多益网络校招 —— web前端笔试题
  14. H.265中熵编码器的总结
  15. 【机器学习】层次聚类-Agglomerative clustering
  16. Linux学习笔记(一):Linux常用命令
  17. 以终为始,向死而生——5月份英语总结
  18. groovy安装教程
  19. C语言for循环实现遍历指针数组元素
  20. 期货交易软件哪个好?为什么选择期货MT4平台软件?

热门文章

  1. 工作两年后感悟的《大话西游》
  2. 电子签章系统标准与产品
  3. chrome中行网银插件(Linux下可用,可以淘宝支付宝)
  4. Spring框架个人笔记(IOC)
  5. iframe 在firefox火狐浏览器 动态获取内容不展示问题
  6. 计算机综合课设 交通运输相关,计算机在道路运输管理中的应用课程设计.doc
  7. 鸿蒙三部曲为什么不写第四部,“鸿蒙三部曲”比“斗罗四作”评分高,为何动画人气远远不如?...
  8. 银行抢占大数据平台 挑战阿里小贷模式
  9. GSM使用python发送短信
  10. 实现微信下载APP的思路