flask 进阶:留言板
本练手项目的码云地址为 : 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 进阶:留言板相关推荐
- pythonflask留言板_python入门篇1:基于flask的留言板网站实现
声明:以下内容是本人大二在某公司实习时学习python做的一个小练习!代码风格比较差,不怎么优美!还请大家指教! 一.题目与背景知识说明 (1)题目描述 学习flask,并编写一个基于flask技术的 ...
- guestbook.php注入,php防注入留言板(simple)
新手学php,试手案例便是留言板.以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视). 最近学习了php访问MySQL数据库的一些知识,重写了一下留言 ...
- Django框架简介-初级(简单留言板)
Django框架(综合各方知识) 介绍Django和设计模式 CGI方式开发web MVC 设计模式 web各部分说明 主要内容 结构说明 必要步骤 简单体验留言板 进阶留言板:css和html分离, ...
- python+Mysql+flask架构的在线留言板实战
在线留言板实战项目说明文档 用python操作mysql完成一个在线留言板系统 1.设计留言板表 2.通过python语言实现 1 项目基本功能 留言板系统主要功能:(要求使用类实现) 1.显示留言板 ...
- 子沐课堂——Flask留言板
1.flask安装 pip install flask 2.入口文件配置 代码如下: #-*- coding:utf-8 -*- from flask import Flask,render_temp ...
- android中留言板功能,js 实现简易留言板功能
无标题文档 li{list-style:none;} li{position:relative;width:500px;} a{position:absolute;right:10px;} var c ...
- Tornado入门案例:留言板
Tornado入门案例:留言板 前言 Tornado框架 实操:搭建一个hello world 完整代码与前端页面 前言 所使用的框架:Torndao框架 python 主流的开发框架 Tornado ...
- php留言板入门教程,一个php留言板实例详解(附源码下载)
我的留言板 $username = isset($_REQUEST['username']) ? $_REQUEST['username'] : ''; //姓名 $sex = isset($_R ...
- mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法
织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...
最新文章
- 看完这篇 Linux 权限,通透了!
- C++ 与 JAVA区别
- 《剑指offer》c++版本 15.二进制中1的个数
- 这里有8个流行的Python可视化工具包,你喜欢哪个?
- dotnet vs code mysql_.net 5 用vs code链接mysql体验
- linux 安装nvm ,管理多版本nodejs
- 学习nodejs之hello world
- Dedecms V5.7后台的两处getshell
- Hadoop-MapReduce
- java nio 2_Java NIO2:NIO概述
- Java开发工程师如何做好职业规划和成长路线
- 不要效法世界只要爱天父
- 多益网络校招 —— web前端笔试题
- H.265中熵编码器的总结
- 【机器学习】层次聚类-Agglomerative clustering
- Linux学习笔记(一):Linux常用命令
- 以终为始,向死而生——5月份英语总结
- groovy安装教程
- C语言for循环实现遍历指针数组元素
- 期货交易软件哪个好?为什么选择期货MT4平台软件?
热门文章
- 工作两年后感悟的《大话西游》
- 电子签章系统标准与产品
- chrome中行网银插件(Linux下可用,可以淘宝支付宝)
- Spring框架个人笔记(IOC)
- iframe 在firefox火狐浏览器 动态获取内容不展示问题
- 计算机综合课设 交通运输相关,计算机在道路运输管理中的应用课程设计.doc
- 鸿蒙三部曲为什么不写第四部,“鸿蒙三部曲”比“斗罗四作”评分高,为何动画人气远远不如?...
- 银行抢占大数据平台 挑战阿里小贷模式
- GSM使用python发送短信
- 实现微信下载APP的思路