最近正在做评论栏,有这样一个需求

2015-11-13 17:18:16 +08:00
 RadAsm

使用 flask 做 web 站点,嗯,是这样的:

用户输入其用户名(name),评论( comment ),然后提交表单,会看见自己的评论嘛~,评论区的用户的头像是根据用户的 name 的首字母(暂且只允许英文 name 吧)在后台生成的,然后,显示在评论区用户头像上。

有 user 表,可以存储用户的头像数据等等

这个需求怎么实现,想了好久,主要还是在表单提交,生成用户头像并存储到表中后,怎么样主动将头像的数据向前端发送。

2997 次点击
所在节点    Python
19 条回复
kumakiti
2015-11-13 17:28:44 +08:00
不能直接返回生成的头像吗?
RadAsm
2015-11-13 17:29:44 +08:00
@kumakiti

生成头像比较耗时,总是拿不到。。。,是个叉叉。。。
b821025551b
2015-11-13 17:39:45 +08:00
英文 name 只有 52 张图片,直接根据首字母判断该读哪个头像返回 url 呗
laosb
2015-11-13 17:46:02 +08:00
不必要后台生成,直接前端就能做。
RadAsm
2015-11-13 17:46:43 +08:00
@b821025551b

嗯,我希望字体样式,背景色什么的都不同,所有是后台生成的。。
qiayue
2015-11-13 17:47:12 +08:00
你生成的用户头像也没必要存到数据库吧
RadAsm
2015-11-13 17:47:22 +08:00
@laosb
吖, how ?我的前端知识比较欠缺
qiayue
2015-11-13 17:48:20 +08:00
你可以按照用户 ID 或者 ID 的 hash 存储头像对应的图片
这样其实你在图片生成之前,就已经知道他的头像的地址了
RadAsm
2015-11-13 17:48:54 +08:00
@qiayue

你这么说也对吖,不过我还是希望能存放起来。 O(∩_∩)O
RadAsm
2015-11-13 17:52:28 +08:00
@qiayue
恩,先谢谢你~
不过我还想问下:然后在何时触发,怎么触发去向服务器获取。。。
raysmond
2015-11-13 17:54:33 +08:00
不用存吧,根据首字母决定,只要注册了前端不就决定了头像么? URL 都是固定的
feiyuanqiu
2015-11-13 17:57:43 +08:00
在数据库 user 表增加一列存头像图片名,提交评论的时候,检查用户是否已存在头像,不存在则生成,将图片保存到服务器的静态文件目录(或者专门的图片服务器),并将生成的图片名保存到数据库

前台页面放头像的地方直接放上用户的头像图片路径就行了
sobigfish
2015-11-13 17:59:59 +08:00
@b821025551b 26*26 不止 52 张

直接在浏览器端把字母 比如 RA 转成 canvas 不行么?


是类似这种不?
https://github.com/bachonk/UIImageView-Letters
RadAsm
2015-11-13 18:01:10 +08:00
@sobigfish
好东西吖。。。谢谢
sobigfish
2015-11-13 18:02:51 +08:00
gkiwi
2015-11-13 18:12:28 +08:00
canvas 算是一种,不过楼主说需要自定义字体之类的。

我觉得还可以这样子,先是在前端用首字母+div 加上个 css 模糊效果(马赛克),后台生成返回后,再替换过来,算是一种折中方案。
不过话说这个的生成应该很快啊
ericls
2015-11-14 07:49:00 +08:00
为何要采用 python 生成头像? 直接在前端生成头像岂不更好?
zhicheng
2015-11-14 10:58:58 +08:00
你是说 TextArea.com 上那种默认头像?头像是 CSS 写的,颜色是 Python 的,如果你想要我可以把这部分代码给你。
RadAsm
2015-11-14 12:55:44 +08:00
@zhicheng
哈哈 谢谢了 不过应该不需要了:-D

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/236008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX