【学习笔记】django-avatar插件的使用

1011 查看

参考链接:

简介

django-avatar是一个应用于django的头像插件。可以提供在线的头像也可以用提供本地的头像管理功能。如果用户没有头像,可以提供多种风格的默认头像(就是想要这个才用的它╮(╯▽╰)╭,感觉本末倒置了╮(╯▽╰)╭,不过没关系啦,开心就好╮(╯▽╰)╭)。

安装

pip安装django-avatar包,也可以下载源码自行安装。

pip install django-avatar

注意,django-avatar插件依赖与Pillow,所以没有安装Pillow包的话,会先安装一个Pillow。但是,Pillow是需要很多系统包支持的T_T。
特别是libjpegzlib。unbantu上安装如下:

apt-get install libjpeg-dev
apt-get install zlib1g-dev

使用

django-avatar使用手册

  1. 在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中愉快的使用头像功能了。可是...【待续】