def render(self, context):
try:
a = template.resolve_variable(self.photo, context)
except:
a = self.photo
if isinstance(a, Photo):
p = a
else:
try:
p = Photo.objects.get(slug=a)
except Photo.DoesNotExist:
# Ooops. Fail silently
return None
if not p.is_public:
return None
func = getattr(p, 'get_%s_url' % (self.photosize), None)
if func is None:
return 'A "%s" photo size has not been defined.' % (self.photosize)
else:
return u'<img class="%s" src="%s" alt="%s" />' % (self.css_class, func(), p.title)
python类resolve_variable()的实例源码
def render(self, context):
try:
a = template.resolve_variable(self.gallery, context)
except:
a = self.gallery
if isinstance(a, Gallery):
g = a
else:
try:
g = Gallery.objects.get(slug=a)
except Gallery.DoesNotExist:
return None
photos = g.public()
if len(photos) > 1:
r = random.randint(0, len(photos) - 1)
p = photos[r]
elif len(photos) == 1:
p = photos[0]
else:
return None
func = getattr(p, 'get_%s_url' % (self.photosize), None)
if func is None:
return 'A "%s" photo size has not been defined.' % (self.photosize)
else:
return u'<img class="%s" src="%s" alt="%s" />' % (self.css_class, func(), p.title)
likes_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def render(self, context):
obj = template.resolve_variable(self.obj, context)
ct = ContentType.objects.get_for_model(obj)
is_liked_by_user = bool(Like.objects.filter(
user=context["request"].user,
content_type=ct,
object_id=obj.pk,
))
context.push()
context["object"] = obj
context["content_type_id"] = ct.pk
context["is_liked_by_user"] = is_liked_by_user
context["count"] = get_likes_count(obj)
output = loader.render_to_string("likes/includes/like.html", context)
context.pop()
return output
### FILTERS ###
utility_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def render(self, context):
if "." in self.manager_method:
manager, method = self.manager_method.split(".")
else:
manager = "_default_manager"
method = self.manager_method
qs = getattr(
getattr(self.model, manager),
method,
self.model._default_manager.none,
)()
if self.amount:
amount = template.resolve_variable(self.amount, context)
context[self.var_name] = qs[:amount]
else:
context[self.var_name] = qs
return ""
likes_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def render(self, context):
obj = template.resolve_variable(self.obj, context)
ct = ContentType.objects.get_for_model(obj)
is_liked_by_user = bool(Like.objects.filter(
user=context["request"].user,
content_type=ct,
object_id=obj.pk,
))
context.push()
context["object"] = obj
context["content_type_id"] = ct.pk
context["is_liked_by_user"] = is_liked_by_user
context["count"] = get_likes_count(obj)
output = loader.render_to_string("likes/includes/like.html", context)
context.pop()
return output
### FILTERS ###
def render(self, context):
locale = resolve_variable(self.locale, context)
if utils.supported_language(locale) is None:
raise ValueError("locale not in settings.LANGUAGES: %s" % locale)
path = self.urlnode.render(context)
if self.urlnode.asvar:
self.urlnode.render(context)
context[self.urlnode.asvar] = chlocale(context[self.urlnode.asvar],
locale)
return ''
else:
return chlocale(path, locale)
utility_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def render(self, context):
try:
# Loading the template and rendering it
template_name = template.resolve_variable(self.template_name, context)
included_template = get_template(template_name).render(context)
except template.TemplateDoesNotExist:
included_template = ""
return included_template
utility_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def render(self, context):
template_value = template.resolve_variable(self.template_value, context)
t = template.Template(template_value)
context_vars = {}
for d in list(context):
for var, val in d.items():
context_vars[var] = val
result = t.render(template.RequestContext(context["request"], context_vars))
if self.var_name:
context[self.var_name] = result
return ""
return result
utility_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def render(self, context):
try:
# Loading the template and rendering it
template_name = template.resolve_variable(self.template_name, context)
included_template = get_template(template_name).render(context)
except template.TemplateDoesNotExist:
included_template = ""
return included_template
utility_tags.py 文件源码
项目:Django-Web-Development-with-Python
作者: PacktPublishing
项目源码
文件源码
阅读 28
收藏 0
点赞 0
评论 0
def render(self, context):
template_value = template.resolve_variable(self.template_value, context)
t = template.Template(template_value)
context_vars = {}
for d in list(context):
for var, val in d.items():
context_vars[var] = val
result = t.render(template.RequestContext(context["request"], context_vars))
if self.var_name:
context[self.var_name] = result
return ""
return result
def render(self, context):
request = template.resolve_variable('request', context)
if request.role and request.role.group.name in USURPERS[self.role]:
return self.nodelist.render(context)
else:
return ''
def render(self, context):
user = template.resolve_variable('user', context)
if not user.is_authenticated():
return self.nodelist_false.render(context)
allowed = False
for checkgroup in self.groups:
if checkgroup.startswith('"') and checkgroup.endswith('"'):
checkgroup = checkgroup[1:-1]
if checkgroup.startswith("'") and checkgroup.endswith("'"):
checkgroup = checkgroup[1:-1]
try:
group = Group.objects.get(name=checkgroup)
except Group.DoesNotExist:
break
if group in user.groups.all():
allowed = True
break
if allowed:
return self.nodelist_true.render(context)
else:
return self.nodelist_false.render(context)
def render(self, context):
try:
resolved_var = template.resolve_variable(
self.var_to_resolve, context
)
self.get_context(context)[self.var_name] = resolved_var
except template.VariableDoesNotExist:
self.get_context(context)[self.var_name] = ""
return ""