1.flask安装

pip install flask

2.入口文件配置

代码如下:

#-*- coding:utf-8 -*-  from flask import Flask,render_template,request,redirect,escape,Markup
from datetime import datetime
#引入Mysql
import MySQLdb
import sysreload(sys)
sys.setdefaultencoding('utf8')`#申请空间
app=Flask(__name__)#127.0.0.1:8000
@app.route('/')
def hello_world():list=load_data()return render_template('index.html',list=list)    @app.route('/post',methods=['POST'])
def post():name=request.form.get('name',u'匿名').encode('utf-8')comment=request.form.get('comment',u'暂无留言').encode('utf-8')create_time=datetime.now()save_data(name,comment,create_time)return redirect('/')def save_data(name,comment,create_time):#连接数据库conn=MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='block',charset='utf8')cur=conn.cursor()cur.execute('set names utf8')#插入的sql语句sql=u"insert into word (`name`,comment,create_time) values ('{0}','{1}','{2}')".format(name.encode('utf-8'),comment.encode('utf-8'),create_time)#执行插入方法cur.execute(sql)cur.close()conn.commit()conn.close()#加载列表
def load_data():# 连接数据库conn = MySQLdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='block',charset='utf8')cur = conn.cursor()cur.execute('set names utf8')sql='select * from word'cur.execute(sql)list=cur.fetchall()cur.close()conn.commit()conn.close()return list#使datetime对象更容易分辨的模板的过滤器
@app.template_filter('datetime_fmt')
def datetime_fmt_filter(dt):return dt.strftime('%Y年%m月%d日 %H:%M:%S')
#将换行符置换为br标签的模板过滤器
@app.template_filter('nl2br')
def nl2br_filter(s):return escape(unicode(s)).replace('\\n',Markup('<br>'))#执行flask项目
if __name__ == '__main__':app.run()

3.搭建页面

使用Bootstrap,搭建HTML页面,新建一个temolates目录,然后再找个目录下新建一个index.html。在模板文件中,我们使用Jinja2模板引擎,判断后台传递来的数据是否为空,非空则显示列表,空则显示暂无数据,同时使用Bootstrap的模态框,制作发布留言。
代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>留言板</title><!-- 新 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="/static/css/bootstrap.min.css"><!-- jQuery文件。务必在bootstrap.min.js 之前引入 --><script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src="/static/js/bootstrap.min.js"></script>
</head>
<body><div class="container"><div class="row"><h1>留言列表<button class="btn btn-warning pull-right" data-toggle="modal" data-target="#blockModal">发布留言</button></h1>{% if list %}{% for item in list %}<div class="panel panel-default"><div class="panel-heading">{{item[1]}} </div><div class="panel-body"><p class="text-muted">发布时间:{{ item[3]|datetime_fmt}}</p><p class="text-primary">{{item[2]|nl2br}}</p></div></div>{% endfor %}{% else %}<blockquote><p class="text-danger">暂无数据</p></blockquote>{% endif %}</div></div><div class="modal fade" id="blockModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button><h4 class="modal-title" id="myModalLabel">发布留言</h4></div><form class="form-horizontal" role="form" action="/post" method="post"><div class="modal-body"><div class="form-group"><label for="name" class="col-sm-2 control-label">姓名</label><div class="col-sm-10"><input type="text" class="form-control" id="name" placeholder="请输入你的名字" name="name"></div></div><div class="form-group"><label for="comment" class="col-sm-2 control-label">留言内容</label><div class="col-sm-10"><textarea class="form-control" rows="3" name="comment" id="comment"></textarea></div></div></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button><button type="submit" class="btn btn-primary">发布</button></div></form></div></div></div>
</body>
</html>

随后我们新建static文件夹,里面方式我们从Bootstrap官网下载的文件资源包

4.运行

cmd输入命令,python index.py
如此,就可以通过浏览器访问127.0.0.1:5000,显示的项目

5.自定义端口及开启调试模式

修改index.py,设置app.run()app.run('127.0.0.1',8080,debug=True),如此每次代码改变,不需要手动重新启动项目。flask会自动重启项目。
今日头条——原文链接

子沐课堂——Flask留言板相关推荐

  1. 子沐课堂——Flask小帅锅勾搭Ajax萌妹纸

    Flask小帅锅 为什么我们使用Flask呢?他有什么闪光点呢?现在听我慢慢道来 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板 ...

  2. 子沐课堂——分析一波Python就业前景

    前言 数据我们爬取得到了,参考文章:<子沐课堂--Scrapy之智联招聘篇(一)>,并且我们已经合理的保存到了Mysql数据库中了,参考文章:<子沐课堂--Scrapy之Mysql数 ...

  3. 子沐课堂——Mysq从入门到精通(二)

    子沐课堂 2017-02-20 09:56 Mysql自定义函数 1.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. 函数 作用 ABS(x) 返回x的绝对值 SELECT ABS(-1) ...

  4. 子沐课堂——学员管理系统(前期准备+Model建立)

    今天开始我们来做一个基于Flask+Jinja2+SqlAlchemy+xlrd+Layui+G2的学员管理系统. 环境配置 首先我们要安装好环境,才能进行下一步的操作. (1)Flask Flask ...

  5. 子沐课堂——Mysq从入门到精通(三)

    自定义函数(私人订制) 自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL. 所以UD ...

  6. 子沐课堂——MatPlotlib之四大金刚

    前言 这几天,小编工作上有点忙碌,好久没有更新文章了.十感抱歉,再次给大家来个"应用级"的文章. Matplotlib matplotlib 是python最著名的绘图库,它提供了 ...

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

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

  8. flask 进阶:留言板

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

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

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

最新文章

  1. dataGridView右键菜单并选中该行 http://blog.csdn.net/lanmao100/archive/2009/06/25/4298529.aspx...
  2. 内核对象用于线程同步
  3. window7开放端sqlserver端口
  4. Golang的time包:秒、毫秒、纳秒时间戳输出
  5. Dubbo + Zookeeper入门初探
  6. 带宽测量:带宽测量工具下载
  7. 荐书:《PostgreSQL指南:内幕探索》| 留言送书
  8. 微信小程序 开发文档
  9. Opencv之生成Halcon标定板
  10. Java数组简介:数组是什么?
  11. 快压下载|快压软件官方下载
  12. Unity3D世界坐标和局部坐标的关系,之间转换浅谈
  13. 全球及中国智能X光安检机行业研究及十四五规划分析报告
  14. mysql 告警日志_错误日志监控报警脚本
  15. 2012服务器优化工具,Windows server 2012服务器安全加固与web环境配置优化
  16. pytorch is not compiled with NCCL supoort
  17. 根据身份证号回填信息
  18. 体育竞技游戏的团队AI
  19. 解决IE系列浏览器上传页面接收问题
  20. python查火车票_使用python制作查询火车票工具

热门文章

  1. 全国首个刷脸支付相机现身,刷脸支付进军新领域
  2. css如何美化滚动条
  3. 帮你实现Type-c手机同时充电和数据传输(OTG)功能的方案
  4. scanf返回值被忽略的办法
  5. 【网络编程】Sockaddr与Sockaddr_in
  6. Kinect结合Unity3D引擎开发体感游戏
  7. Linux xshell通过ssh连接Linux系统
  8. 伯恩斯新情绪疗法--克服无价值感
  9. BaiduPCS GoLang
  10. 1分钟wps会员签到——即可领取【3个月】