V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
RadAsm
V2EX  ›  Python

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

  •  
  •   RadAsm · Nov 13, 2015 · 3788 views
    This topic created in 3817 days ago, the information mentioned may be changed or developed.

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

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

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

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

    19 replies    2015-11-14 12:55:44 +08:00
    kumakiti
        1
    kumakiti  
       Nov 13, 2015
    不能直接返回生成的头像吗?
    RadAsm
        2
    RadAsm  
    OP
       Nov 13, 2015
    @kumakiti

    生成头像比较耗时,总是拿不到。。。,是个叉叉。。。
    b821025551b
        3
    b821025551b  
       Nov 13, 2015
    英文 name 只有 52 张图片,直接根据首字母判断该读哪个头像返回 url 呗
    laosb
        4
    laosb  
       Nov 13, 2015
    不必要后台生成,直接前端就能做。
    RadAsm
        5
    RadAsm  
    OP
       Nov 13, 2015
    @b821025551b

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

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

    前台页面放头像的地方直接放上用户的头像图片路径就行了
    run2
        13
    run2  
       Nov 13, 2015
    @b821025551b 26*26 不止 52 张

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


    是类似这种不?
    https://github.com/bachonk/UIImageView-Letters
    RadAsm
        14
    RadAsm  
    OP
       Nov 13, 2015
    @sobigfish
    好东西吖。。。谢谢
    gkiwi
        16
    gkiwi  
       Nov 13, 2015
    canvas 算是一种,不过楼主说需要自定义字体之类的。

    我觉得还可以这样子,先是在前端用首字母+div 加上个 css 模糊效果(马赛克),后台生成返回后,再替换过来,算是一种折中方案。
    不过话说这个的生成应该很快啊
    ericls
        17
    ericls  
       Nov 14, 2015
    为何要采用 python 生成头像? 直接在前端生成头像岂不更好?
    zhicheng
        18
    zhicheng  
       Nov 14, 2015
    你是说 TextArea.com 上那种默认头像?头像是 CSS 写的,颜色是 Python 的,如果你想要我可以把这部分代码给你。
    RadAsm
        19
    RadAsm  
    OP
       Nov 14, 2015   ❤️ 1
    @zhicheng
    哈哈 谢谢了 不过应该不需要了:-D
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5666 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 08:22 · PVG 16:22 · LAX 01:22 · JFK 04:22
    ♥ Do have faith in what you're doing.