投稿    登录
  博主录制的Python3爬虫视频教程已发布!详情请戳Python3爬虫视频教程!希望大家支持!非常感谢!

【Python搞搞轻量博客】第三发 开发无数据库留言板

Python 仙宇 2875浏览 4评论

Hi,大家好,我又回来了。

今天我要写一个无需数据,来实现一个简易的留言板。

准备

  • 留言有用户名,标题,内容,时间
  • 多用户

前端与后端数据提交

通常Web应用在前端和后端的数据交互少不了Get和Post这两种HTTP方法。

那么,我们如何通过传递参数的方式来获取数据呢?

比如,/get/?name=xeanyu&age=10 其中的数据为name=xeanyu 和 age = 10

第一行: 我们导入了 request,利用它来获取前端传递给后端的数据

第六行: 获取参数,name的值,如果name没有传递参数,不会报错,而是返回None

第七行:获取参数,age的值,同上

我们看下控制台

成功获取get方法所传递的值。

 

然后我再来使用Post方法来获取数据。

如果使用Post来获取参数,我们就需要使用html来传递到后端。

然后我们来看HTML代码

可以看到,在第十二行中,form表单中的action的值是我们用 url_for()函数获取路由index的URL,然后method所使用的http方法为 POST

然后来看app.py主应用的代码

第4行: 其中methods添加POST方法

第6 – 15行中:利用if判断所访问的方法,如果是get,就是直接用浏览器访问,则渲染一个模板,如果是POST方法,就使用 request.form.get来获取 模板中表单的两个输入的值。

可以看到,这是GET方法的访问,所给我们渲染的模板。很简陋蛤

然后我们输入年龄和姓名,再来看控制台。

可以看到,成功获取了表单数据。现在,我们学到的知识,已经够我们写一个无需数据库的留言板了。

 

开始写留言板

还有模板代码

主应用app.py中

大致的思路是,创建一个留言列表。然后有Get方法去渲染模板,在模板中输入值,再去用POST提交给路由,路由将数据定义成为一个字典。

字典是这样的:

  • title => 用户输入的标题
  • text => 用户输入的内容
  • user => 用户名
  • date => 时间,使用time模块,实时获取

多说无益,我们来运行测试一下。

每次提交POST表单数据,视图函数添加到users列表以后,就会又跳转到get方式的页面。

代码可见主应用app.py中 12 – 23行代码中,第23行代码使用redirect又跳转到了留言页面。

 

这个留言板弊端很多,比如一旦重启应用,就会丢失所有的用户留言,你可以使用json,进行序列化储存。或者其他方式写入到文件。

弊端如下:

  • 数据无法持久化储存
  • 没有进行数据审核
  • html如果内容较长,显示就会很难看。
  • 还有非常多的弊端,自己去脑补吧大家。

Ok,如果大家有什么问题请加微信互相交流。

转载请注明:静觅 » 【Python搞搞轻量博客】第三发 开发无数据库留言板

喜欢 (47)or分享 (0)

我的个人微信公众号,联系我请直接在公众号留言即可~

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

想结交更多的朋友吗?

来进击的Coder瞧瞧吧

进击的Coder

QQ群号 99350970 立即加入

进击的Coder灌水太多?

这里是纯粹的技术领地

激进的Coder

QQ群号 627725766 立即加入

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 逗你玩
    vvve2018-04-10 20:14 回复
  2. 师傅 快快更新!
    crawler2018-04-08 18:05 回复
  3. 突然好简单
    凌乱2018-04-04 10:28 回复
  4. 跟着学,继续啊
    alfred32018-04-02 17:18 回复