使用 flask 做 web 站点,嗯,是这样的:
用户输入其用户名(name),评论( comment ),然后提交表单,会看见自己的评论嘛~,评论区的用户的头像是根据用户的 name 的首字母(暂且只允许英文 name 吧)在后台生成的,然后,显示在评论区用户头像上。
有 user 表,可以存储用户的头像数据等等
这个需求怎么实现,想了好久,主要还是在表单提交,生成用户头像并存储到表中后,怎么样主动将头像的数据向前端发送。
1
kumakiti 2015-11-13 17:28:44 +08:00
不能直接返回生成的头像吗?
|
3
b821025551b 2015-11-13 17:39:45 +08:00
英文 name 只有 52 张图片,直接根据首字母判断该读哪个头像返回 url 呗
|
4
laosb 2015-11-13 17:46:02 +08:00
不必要后台生成,直接前端就能做。
|
5
RadAsm OP |
6
qiayue 2015-11-13 17:47:12 +08:00
你生成的用户头像也没必要存到数据库吧
|
8
qiayue 2015-11-13 17:48:20 +08:00
你可以按照用户 ID 或者 ID 的 hash 存储头像对应的图片
这样其实你在图片生成之前,就已经知道他的头像的地址了 |
11
raysmond 2015-11-13 17:54:33 +08:00
不用存吧,根据首字母决定,只要注册了前端不就决定了头像么? URL 都是固定的
|
12
feiyuanqiu 2015-11-13 17:57:43 +08:00
在数据库 user 表增加一列存头像图片名,提交评论的时候,检查用户是否已存在头像,不存在则生成,将图片保存到服务器的静态文件目录(或者专门的图片服务器),并将生成的图片名保存到数据库
前台页面放头像的地方直接放上用户的头像图片路径就行了 |
13
sobigfish 2015-11-13 17:59:59 +08:00
@b821025551b 26*26 不止 52 张
直接在浏览器端把字母 比如 RA 转成 canvas 不行么? 是类似这种不? https://github.com/bachonk/UIImageView-Letters |
15
sobigfish 2015-11-13 18:02:51 +08:00
|
16
gkiwi 2015-11-13 18:12:28 +08:00
canvas 算是一种,不过楼主说需要自定义字体之类的。
我觉得还可以这样子,先是在前端用首字母+div 加上个 css 模糊效果(马赛克),后台生成返回后,再替换过来,算是一种折中方案。 不过话说这个的生成应该很快啊 |
17
ericls 2015-11-14 07:49:00 +08:00
为何要采用 python 生成头像? 直接在前端生成头像岂不更好?
|
18
zhicheng 2015-11-14 10:58:58 +08:00
你是说 TextArea.com 上那种默认头像?头像是 CSS 写的,颜色是 Python 的,如果你想要我可以把这部分代码给你。
|