本文整理汇总了Python中rest_framework.compat.template_render函数的典型用法代码示例。如果您正苦于以下问题:Python template_render函数的具体用法?Python template_render怎么用?Python template_render使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了template_render函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: format_value
def format_value(value):
if getattr(value, 'is_hyperlink', False):
return mark_safe('<a href=%s>%s</a>' % (value, escape(value.name)))
if value is None or isinstance(value, bool):
return mark_safe('<code>%s</code>' % {True: 'true', False: 'false', None: 'null'}[value])
elif isinstance(value, list):
if any([isinstance(item, (list, dict)) for item in value]):
template = loader.get_template('rest_framework/admin/list_value.html')
else:
template = loader.get_template('rest_framework/admin/simple_list_value.html')
context = {'value': value}
return template_render(template, context)
elif isinstance(value, dict):
template = loader.get_template('rest_framework/admin/dict_value.html')
context = {'value': value}
return template_render(template, context)
elif isinstance(value, six.string_types):
if (
(value.startswith('http:') or value.startswith('https:')) and not
re.search(r'\s', value)
):
return mark_safe('<a href="{value}">{value}</a>'.format(value=escape(value)))
elif '@' in value and not re.search(r'\s', value):
return mark_safe('<a href="mailto:{value}">{value}</a>'.format(value=escape(value)))
elif '\n' in value:
return mark_safe('<pre>%s</pre>' % escape(value))
return six.text_type(value)
开发者ID:featherweightweb,项目名称:django-rest-framework,代码行数:27,代码来源:rest_framework.py
示例2: render
def render(self, data, accepted_media_type=None, renderer_context=None):
renderer_context = renderer_context or {}
view = renderer_context['view']
request = renderer_context['request']
response = renderer_context['response']
if not getattr(request, 'current_page', None):
msg = "APIView class '{}' with 'renderer_class=(CMSPageRenderer, ...)' can only be used by a CMSApp"
response = view.handle_exception(APIException(detail=msg.format(view.__class__)))
if response.exception:
template = self.get_exception_template(response)
template_context = Context(self.get_template_context(data, renderer_context))
return template.render(template_context)
# set edit_mode, so that otherwise invisible placeholders can be edited inline
edit_mode = getattr(request.current_page, 'publisher_is_draft', False)
template_names = [request.current_page.get_template()]
template = self.resolve_template(template_names)
template_context = self.get_template_context(data, renderer_context)
template_context.update(
renderer_context,
paginator=view.paginator,
edit_mode=edit_mode,
)
return template_render(template, template_context, request=request)
开发者ID:khchine5,项目名称:django-shop,代码行数:27,代码来源:renderers.py
示例3: render
def render(self, data, accepted_media_type=None, renderer_context=None):
"""
Renders data to HTML, using Django's standard template rendering.
The template name is determined by (in order of preference):
1. An explicit .template_name set on the response.
2. An explicit .template_name set on this class.
3. The return result of calling view.get_template_names().
"""
renderer_context = renderer_context or {}
view = renderer_context['view']
request = renderer_context['request']
response = renderer_context['response']
if response.exception:
template = self.get_exception_template(response)
else:
template_names = self.get_template_names(response, view)
template = self.resolve_template(template_names)
if hasattr(self, 'resolve_context'):
# Fallback for older versions.
context = self.resolve_context(data, request, response)
else:
context = self.get_template_context(data, renderer_context)
return template_render(template, context, request=request)
开发者ID:TigorC,项目名称:django-rest-framework,代码行数:27,代码来源:renderers.py
示例4: get_filter_form
def get_filter_form(self, data, view, request):
if not hasattr(view, 'get_queryset') or not hasattr(view, 'filter_backends'):
return
# Infer if this is a list view or not.
paginator = getattr(view, 'paginator', None)
if isinstance(data, list):
pass
elif (paginator is not None and data is not None):
try:
paginator.get_results(data)
except (TypeError, KeyError):
return
elif not isinstance(data, list):
return
queryset = view.get_queryset()
elements = []
for backend in view.filter_backends:
if hasattr(backend, 'to_html'):
html = backend().to_html(request, queryset, view)
if html:
elements.append(html)
if not elements:
return
template = loader.get_template(self.filter_template)
context = {'elements': elements}
return template_render(template, context)
开发者ID:AlexRiina,项目名称:django-rest-framework,代码行数:30,代码来源:renderers.py
示例5: render_field
def render_field(self, field, parent_style):
if isinstance(field._field, serializers.HiddenField):
return ''
style = dict(self.default_style[field])
style.update(field.style)
if 'template_pack' not in style:
style['template_pack'] = parent_style.get('template_pack', self.template_pack)
style['renderer'] = self
# If we are rendering a JSON Field we want to convert Python literals to Javascript literals
if issubclass(field._proxy_class, JSONField):
field.value = json.dumps(field.value)
# Get a clone of the field with text-only value representation.
field = field.as_form_field()
if style.get('input_type') == 'datetime-local' and isinstance(field.value, six.text_type):
field.value = field.value.rstrip('Z')
if 'template' in style:
template_name = style['template']
else:
template_name = style['template_pack'].strip('/') + '/' + style['base_template']
template = loader.get_template(template_name)
context = {'field': field, 'style': style}
return template_render(template, context)
开发者ID:pik,项目名称:django-rest-framework,代码行数:29,代码来源:renderers.py
示例6: to_html
def to_html(self, request, queryset, view):
if not getattr(view, "search_fields", None):
return ""
term = self.get_search_terms(request)
term = term[0] if term else ""
context = {"param": self.search_param, "term": term}
template = loader.get_template(self.template)
return template_render(template, context)
开发者ID:jpadilla,项目名称:django-rest-framework,代码行数:9,代码来源:filters.py
示例7: to_html
def to_html(self, request, queryset, view):
filter_class = self.get_filter_class(view, queryset)
if not filter_class:
return None
filter_instance = filter_class(request.query_params, queryset=queryset)
context = {
'filter': filter_instance
}
template = loader.get_template(self.template)
return template_render(template, context)
开发者ID:Achsahisawsm,项目名称:Service_tracker,代码行数:10,代码来源:filters.py
示例8: render
def render(self, data, accepted_media_type=None, renderer_context=None):
renderer_context = renderer_context or {}
response = renderer_context['response']
if response and response.exception:
request = renderer_context['request']
template = self.get_exception_template(response)
context = self.resolve_context(data, request, response)
return template_render(template, context, request=request)
return data
开发者ID:AlexRiina,项目名称:django-rest-framework,代码行数:11,代码来源:renderers.py
示例9: to_html
def to_html(self, request, queryset, view):
filter_class = self.get_filter_class(view, queryset)
if not filter_class:
return None
filter_instance = filter_class(request.query_params, queryset=queryset, request=request)
try:
template = loader.get_template(self.template)
except TemplateDoesNotExist:
template = Template(template_default)
return template_render(template, context={"filter": filter_instance})
开发者ID:carltongibson,项目名称:django-filter,代码行数:12,代码来源:backends.py
示例10: to_html
def to_html(self, request, queryset, view):
filter_class = self.get_filter_class(view, queryset)
if not filter_class:
return None
filter_instance = filter_class(request.query_params, queryset=queryset)
# forces `form` evaluation before `qs` is called. This prevents an empty form from being cached.
filter_instance.form
context = {
'filter': filter_instance
}
template = loader.get_template(self.template)
return template_render(template, context)
开发者ID:Macodom,项目名称:django-rest-framework-filters,代码行数:14,代码来源:backends.py
示例11: to_html
def to_html(self, request, queryset, view):
filter_class = self.get_filter_class(view, queryset)
if not filter_class:
return None
filter_instance = filter_class(request.query_params, queryset=queryset)
# forces `form` evaluation before `qs` is called. This prevents an empty form from being cached.
filter_instance.form
try:
template = loader.get_template(self.template)
except TemplateDoesNotExist:
template = Template(backends.template_default)
return compat.template_render(template, context={
'filter': filter_instance
})
开发者ID:rpkilby,项目名称:django-rest-framework-filters,代码行数:17,代码来源:backends.py
示例12: render
def render(self, data, accepted_media_type=None, renderer_context=None):
"""
Render serializer data and return an HTML form, as a string.
"""
form = data.serializer
style = renderer_context.get('style', {})
if 'template_pack' not in style:
style['template_pack'] = self.template_pack
style['renderer'] = self
template_pack = style['template_pack'].strip('/')
template_name = template_pack + '/' + self.base_template
template = loader.get_template(template_name)
context = {
'form': form,
'style': style
}
return template_render(template, context)
开发者ID:AviorAlong,项目名称:haiwen-5.1.3,代码行数:19,代码来源:renderers.py
示例13: to_html
def to_html(self):
template = loader.get_template(self.template)
context = self.get_html_context()
return template_render(template, context)
开发者ID:kmwenja,项目名称:django-rest-framework,代码行数:4,代码来源:pagination.py
注:本文中的rest_framework.compat.template_render函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论