本文整理汇总了Python中django_tables2.utils.AttributeDict.get方法的典型用法代码示例。如果您正苦于以下问题:Python AttributeDict.get方法的具体用法?Python AttributeDict.get怎么用?Python AttributeDict.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django_tables2.utils.AttributeDict
的用法示例。
在下文中一共展示了AttributeDict.get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render
# 需要导入模块: from django_tables2.utils import AttributeDict [as 别名]
# 或者: from django_tables2.utils.AttributeDict import get [as 别名]
def render(self, record, value):
storage = getattr(value, 'storage', None)
exists = None
url = None
if storage:
# we'll assume value is a `django.db.models.fields.files.FieldFile`
if self.verify_exists:
exists = storage.exists(value.name)
url = storage.url(value.name)
else:
if self.verify_exists and hasattr(value, 'name'):
# ignore negatives, perhaps the file has a name but it doesn't
# represent a local path... better to stay neutral than give a
# false negative.
exists = os.path.exists(value.name) or exists
tag = 'a' if url else 'span'
attrs = AttributeDict(self.attrs.get(tag, {}))
attrs['title'] = value.name
classes = [c for c in attrs.get('class', '').split(' ') if c]
if exists is not None:
classes.append('exists' if exists else 'missing')
attrs['class'] = ' '.join(classes)
if url:
return self.render_link(url, record=record, value=value, attrs=attrs)
else:
return format_html(
'<span {attrs}>{text}</span>',
attrs=attrs.as_html(),
text=self.text_value(record, value)
)
示例2: render
# 需要导入模块: from django_tables2.utils import AttributeDict [as 别名]
# 或者: from django_tables2.utils.AttributeDict import get [as 别名]
def render(self, record, value):
attrs = AttributeDict(self.attrs.get("span", {}))
classes = [c for c in attrs.get("class", "").split(" ") if c]
exists = None
storage = getattr(value, "storage", None)
if storage:
# we'll assume value is a `django.db.models.fields.files.FieldFile`
if self.verify_exists:
exists = storage.exists(value.name)
else:
if self.verify_exists and hasattr(value, "name"):
# ignore negatives, perhaps the file has a name but it doesn't
# represent a local path... better to stay neutral than give a
# false negative.
exists = os.path.exists(value.name) or exists
if exists is not None:
classes.append("exists" if exists else "missing")
attrs["title"] = value.name
attrs["class"] = " ".join(classes)
return format_html(
"<span {attrs}>{text}</span>",
attrs=attrs.as_html(),
text=self.text_value(record, value),
)
示例3: render
# 需要导入模块: from django_tables2.utils import AttributeDict [as 别名]
# 或者: from django_tables2.utils.AttributeDict import get [as 别名]
def render(self, value):
storage = getattr(value, "storage", None)
exists = None
url = None
if storage:
# we'll assume value is a `django.db.models.fields.files.FieldFile`
if self.verify_exists:
exists = storage.exists(value.name)
url = storage.url(value.name)
else:
if self.verify_exists and hasattr(value, "name"):
# ignore negatives, perhaps the file has a name but it doesn't
# represent a local path... better to stay neutral than give a
# false negative.
exists = os.path.exists(value.name) or exists
tag = 'a' if url else 'span'
attrs = AttributeDict(self.attrs.get(tag, {}))
attrs['title'] = value.name
if url:
attrs['href'] = url
# add "exists" or "missing" to the class list
classes = [c for c in attrs.get('class', '').split(' ') if c]
if exists is True:
classes.append("exists")
elif exists is False:
classes.append("missing")
attrs['class'] = " ".join(classes)
html = '<{tag} {attrs}>{text}</{tag}>'.format(
tag=tag,
attrs=attrs.as_html(),
text=os.path.basename(value.name))
return mark_safe(html)