py
from flask import Flask, render_template from flask_avatars import Avatars
app = Flask(name) avatars = Avatars(app)
html
<p>{% raw %}{{ avatars.robohash('jack') }}{% endraw %}: <img src="{{ avatars.robohash('jack') }}"></p> <p>{% raw %}{{ avatars.robohash('peter', size='200') }}{% endraw %}: <img src="{{ avatars.robohash('peter', size='50') }}"></p>
另一种生成随机图像的方式
生成随机图案头像Identicon Gravatar服务可能会有不稳定的情况,这种情况下,你可以在本地为用户生成头像(identicon),下面是一个简单的示例:
app.config['AVATARS_SAVE_PATH '] = 'the/path/to/save/avatar'
avatar = Identicon() filenames = avatar.generate(text=‘一串唯一字符’) avatar.generate()会根据传入的随机字符创建三个尺寸(可以通过配置变量AVATARS_SIZE_TUPLE自定义)的头像,保存到指定的位置,并返回三个头像文件名。你可以将这个文件名保存到数据库中,并创建一个视图函数来提供头像文件:
from flask import send_form_directory, current_app
@app.route('/avatars/<path:filename>') def get_avatar(filename): return send_from_directory(current_app.config['AVATARS_SAVE_PATH'], filename)