怎么换成自定义的本地头像呢? 有没有实现的代码 给个链接看看 谢谢
本地的图片地址:./static/avatar/1.jpg-9.jpg
我的代码是这样的:
def gravatar(self, size=100, default='identicon', rating='g'):
import random
return '%d.jpg' % random.randint(1, 9)
调用是这样的:
<img class="img-rounded profile-thumbnail" src="{{ url_for('static', filename='avatar/') }}{{ current_user.avatar_hash }}">
我这样修改后 图片是加载不出来的 为什么呢?
欢迎交流, 也在学 Flask, 不过我没用书上 gavatar 的例子, 所以我也不太知道你的问题出在哪里...
关于本地头像, 我这边有个自己写的半成品供参考, 实现了 ajax 异步上传头像到服务器.
User
模型里添加了一个avatar
字段, 存放头像路由相应的 url 路径, 通过访问头像路由得到头像文件. 上传的头像根据用户id
每AVATARS_PER_FOLDER
个头像文件存放在/static/img/avatr/n/
中, 文件名是u{id}.jpg
.时间关系我解释的不太详细, 欢迎交流~
backend 蓝图 -
app/backend/views.py
:处理头像上传和返回头像
html 页面 -
app/templates/user_settings.html
:通过 ajax 处理头像上传和更新显示
这里使用 localResizeIMG 插件来压缩图像, 得到图像的 base64 编码, 传入
upload_avatar()
函数异步上传, 如果上传成功, 更新头像显示