一个djangavatar的分支,用于GeoNode

geonode-avatar的Python项目详细描述


基础知识

要将geonode-avatar与站点集成,有相对较少的内容 这是必须的。最小的集成可以这样工作:

  1. 在设置的INSTALLED_APPS部分列出此应用程序 文件。您的设置文件如下所示:

    INSTALLED_APPS = (
        # ...
        'avatar',
    )
    
  2. 将分页url添加到根urlconf的末尾。你的urlconf 看起来像:

    ^{pr2}$ 在
  3. 在你的模板导航方案的某个地方,链接到改变化身 页码:23/46

    <a href="{% url avatar_change %}">Change your avatar</a>
    
  4. 无论您想为用户显示头像,请首先加载该头像 模板标记:

    {% load avatar_tags %}
    

    然后,使用avatar标记显示默认大小的化身:

    {% avatar user %}
    

    或显式指定大小(以像素为单位):

    {% avatar user 65 %}
    
  5. {4$和自定义^tt4} avatar/confirm_delete.html以符合站点的外观。在

观点

此应用程序只有两个视图:一个用于更改用户的 头像,和另一个删除用户的头像。在

更改化身

实际的view函数位于avatar.views.change,它可以 由url名称avatar_change引用。它需要两个关键字 参数:extra_contextnext_override。如果extra_context是 前提是,该上下文将被放置到模板的上下文中。在

如果提供了next_override,则用户将被重定向到指定的 表单提交后的URL。否则用户将被重定向到URL 在request.POST中的next参数中指定。如果request.POST 没有next参数,将搜索request.GET。如果 request.GET没有next参数,HTTP_REFERER头将 接受检查。如果该头不存在,用户将被重定向 返回当前URL。在

删除化身

实际的view函数位于avatar.views.delete,它可以是 由url名称avatar_delete引用。它使用相同的两个关键字 参数为avatar.views.change,并遵循相同的重定向规则 也。在

模板标记

要开始使用这些模板标记,必须首先将标记加载到 模板渲染系统:

{% load avatar_tags %}
{% avatar_url user [size in pixels] %}
为给定用户呈现化身的URL。用户可以是 django.contrib.auth.models.Userobject实例或用户名。
{% avatar user [size in pixels] %}
为给定用户呈现指定大小的HTMLimg标记。 用户可以是django.contrib.auth.models.User对象实例 或用户名。
{% render_avatar avatar [size in pixels] %}
给定一个实际的avatar.models.Avatarobject实例,呈现一个HTML imgtag以请求的大小表示该化身。

全局设置

有许多设置可以方便地定制头像 出现在网站上。下面列出了这些设置:

自动生成头像大小
表示要生成的化身的大小的一个整数 上传。如果预先生成 调整大小的版本。默认为(80,)
头像调整大小方法
根据中可用的选项调整图像大小时使用的方法 皮尔。默认为Image.ANTIALIAS
虚拟形象存储
存储图像的MEDIA_ROOT下的目录。如果使用 非文件系统存储设备,这将简单地附加到 文件名的开头。
AVATAR_GRAVATAR_备份
一个布尔值,用于确定如果否,是否默认为Gravatar服务 Avatar实例在系统中为给定用户找到。默认为 正确。
虚拟形象默认网址
如果AVATAR_GRAVATAR_BACKUP设置为False,则默认的默认URL 并且在系统中找不到给定用户的Avatar实例。

管理命令

此应用程序包含一个管理命令:rebuild_avatars。它 不带参数,并且在运行时,重新呈现所有thumB所有 在^{tt38}中指定的像素大小的化身$ 设置。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有接口参数的java反射和构造函数   java Spring Thymeleaf如何通过Thymeleaf表单编辑(更新)用户选择的实体(对象)?   Java Tapestry中不同类之间的静态、非静态和调用   java如何使用dojo 1.9显示地理地图   安卓如何在java中简化这个代码片段?   尝试将java spring应用程序部署到Oracle weblogic群集java时出错。lang.ArrayIndexOutofBounds异常:52304   java如何在标头中包含SOAP身份验证详细信息?   java使用流删除一个列表中的元素(如果存在于另一个列表中)   java如何将包含UTC时间的字符串(如“193526”(19:35:26)转换为本地时区?   java部署Grailsgenerated WAR文件的最简单方法是什么?   java使用两种类型向通用列表添加对象   java如何在安卓应用程序中保存应用程序数据?   java有人能帮我弄清楚如何从“:”(不包括)读取我的文件直到行尾吗?   java在org上找不到javadoc。日食团队svn anywhere