gpt4 book ai didi

django - 在 Django 中使用 Gravatar

转载 作者:行者123 更新时间:2023-12-04 14:51:55 29 4
gpt4 key购买 nike

我愿意用gravatars在我的 Django 应用程序中。
在申请中 cw我创建了一个 templatetags具有以下架构的目录:

cw/
templatetags/
__init.py__
gravatar.py
views.py
...
gravatar.py包含
from django import template
import urllib, hashlib

register = template.Library()

class GravatarUrlNode(template.Node):
def __init__(self, email):
self.email = template.Variable(email)

def render(self, context):
try:
email = self.email.resolve(context)
except template.VariableDoesNotExist:
return ''

default = "/site_media/img/defaultavatar.jpg"
size = 40

gravatar_url = "http://www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?"
gravatar_url += urllib.urlencode({'d':default, 's':str(size)})

return gravatar_url

@register.tag
def gravatar_url(parser, token):
try:
tag_name, email = token.split_contents()

except ValueError:
raise template.TemplateSyntaxError, "%r tag requires a single argument" % token.contents.split()[0]

return GravatarUrlNode(email)

并在 cw 的模板之一中我试过:
{% load gravatar %}

但我得到:
'gravatar' is not a valid tag library: Template library gravatar not found, tried django.templatetags.gravatar,django.contrib.admin.templatetags.gravatar`

我运行 django 1.2.1 python 2.6 并在我的 settings.py 中运行:
TEMPLATE_LOADERS = ( 
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
'django.template.loaders.eggs.load_template_source',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.auth",
"django.core.context_processors.request",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.contrib.messages.context_processors.messages",
)

编辑:我发现另一个更简洁的实现: http://tomatohater.com/2008/08/16/implementing-gravatar-django/

最佳答案

你的问题在这里:

cw/
templatetags/
__init.py__ <<<
gravatar.py
views.py
...

应该是 __init__.py不是 __init.py__

关于django - 在 Django 中使用 Gravatar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080278/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com