参考链接:
简介
django-avatar是一个应用于django的头像插件。可以提供在线的头像也可以用提供本地的头像管理功能。如果用户没有头像,可以提供多种风格的默认头像(就是想要这个才用的它╮(╯▽╰)╭,感觉本末倒置了╮(╯▽╰)╭,不过没关系啦,开心就好╮(╯▽╰)╭)。
安装
pip安装django-avatar包,也可以下载源码自行安装。
pip install django-avatar
注意,django-avatar插件依赖与Pillow,所以没有安装Pillow包的话,会先安装一个Pillow。但是,Pillow是需要很多系统包支持的T_T。
特别是libjpeg 和zlib。unbantu上安装如下:
apt-get install libjpeg-dev
apt-get install zlib1g-dev
使用
- 在django app中加入django-avatar
INSTALLED_APPS = (
# ...
'avatar',
)
2.同步django-avatar应用数据库
python manage.py syncdb
3.加入django-avatar管理页面url
urlpatterns = patterns('',
# ...
(r'^avatar/', include('avatar.urls')),
)
插件提供头像上传修改功能,url的name为avatar_change,可以像下面这样引用:
<a href="{% url 'avatar_change' %}">Change your avatar</a>
4.模版中的标签
django-avatar提供了多种模版标签在模版中使用。使用之前需要在模版中加入{% load avatar_tags %}
,加载django-avatar的标签。
-
{% avatar %}
最简单的,可以使用{% avatar user %}
或者{% avatar user 64 %}
这样的标签获得一个头像,{% avatar %}
标签会返回一个完整的<img>
元素,显示用户上传的头像。如果没有,会链接一个默认风格的头像,比如这样:
![](https://www.gravatar.com/avatar/bbea1189cae05b0ca28e8791de674581/?s=64&d=mm)
-
{% avatar_url %}
如果对头像样式有自定义要求,只需要头像src的,可以使用{% avatar_url user 64 %}
这种方式,这个标签返回一个头像url地址,可以结合自己的<img>
标签使用:[站外图片上传中……(2)]
上面标签中用到的user
可以是django的user对象,也可以是用户名username。后面可以定义头像大小,比如示例中的‘64’。
插件扩展
有了django-avatar插件后,就可以在我的博客demo中愉快的使用头像功能了。可是...【待续】