本文整理汇总了Python中django.views.generic.DetailView方法的典型用法代码示例。如果您正苦于以下问题:Python generic.DetailView方法的具体用法?Python generic.DetailView怎么用?Python generic.DetailView使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.views.generic
的用法示例。
在下文中一共展示了generic.DetailView方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_context_data
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_context_data(self, **kwargs):
""" Provide extra context information for the Build allocation page """
context = super(DetailView, self).get_context_data(**kwargs)
build = self.get_object()
part = build.part
bom_items = part.bom_items
context['part'] = part
context['bom_items'] = bom_items
context['BuildStatus'] = BuildStatus
context['bom_price'] = build.part.get_price_info(build.quantity, buy=False)
if str2bool(self.request.GET.get('edit', None)):
context['editing'] = True
return context
示例2: get_object
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_object(self):
obj = super(DetailView, self).get_object()
# 设置浏览量增加时间判断,同一篇文章两次浏览超过半小时才重新统计阅览量,作者浏览忽略
u = self.request.user
ses = self.request.session
the_key = 'is_read_{}'.format(obj.id)
is_read_time = ses.get(the_key)
if u != obj.author:
if not is_read_time:
obj.update_views()
ses[the_key] = time.time()
else:
now_time = time.time()
t = now_time - is_read_time
if t > 60 * 30:
obj.update_views()
ses[the_key] = time.time()
md = markdown.Markdown(extensions=[
'markdown.extensions.extra',
'markdown.extensions.codehilite',
TocExtension(slugify=slugify),
])
obj.body = md.convert(obj.body)
obj.toc = md.toc
return obj
示例3: get_detail_class_view
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_detail_class_view(self):
name = '{0}_{1}'.format(self.get_name(), 'DetailView')
options_dict = {
'kind': 'detail',
'model': self.model,
}
if hasattr(self, 'detail_template_name') and self.detail_template_name:
options_dict['template_name'] = self.detail_template_name
parent_classes_list = [FallbackTemplateMixin]
parent_classes_list.extend(self.detail_mixins)
parent_classes_list.append(self.detail_view_class)
klazz = type(name, tuple(parent_classes_list), options_dict )
klazz.get_context_data = self.get_get_context_data(klazz)
return klazz
示例4: get_context_data
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_context_data(self, **kwargs):
"""Overriding get_context_data to add additional context."""
context = super(DetailView, self).get_context_data(**kwargs)
# Provides the base template to extend from
context['template_extends'] = self.template_extends
return context
示例5: get_context_data
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['crazy_thing'] = 'CRAZY THING'
return context
# There is much more to learn
# https://docs.djangoproject.com/en/3.0/ref/class-based-views/generic-display/#django.views.generic.detail.DetailView
# https://docs.djangoproject.com/en/3.0/ref/class-based-views/generic-display/#django.views.generic.detail.ListView
示例6: get_context_data
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_context_data(self, **kwargs):
context = super(DetailView, self).get_context_data(**kwargs)
context['category'] = self.object.id
return context
示例7: test_views_have_correct_parent_class
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def test_views_have_correct_parent_class(self):
self.assertEquals(self.list_view.__bases__[-1].__name__, "ListView")
self.assertEquals(self.create_view.__bases__[-1].__name__, "CreateView")
self.assertEquals(self.update_view.__bases__[-1].__name__, "UpdateView")
self.assertEquals(self.delete_view.__bases__[-1].__name__, "DeleteView")
self.assertEquals(self.detail_view.__bases__[-1].__name__, "DetailView")
示例8: get_object
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_object(self):
obj = super(DetailView, self).get_object()
# 设置浏览量增加时间判断,同一篇文章两次浏览超过半小时才重新统计阅览量,作者浏览忽略
u = self.request.user
ses = self.request.session
the_key = 'is_read_{}'.format(obj.id)
is_read_time = ses.get(the_key)
if u != obj.author:
if not is_read_time:
obj.update_views()
ses[the_key] = time.time()
else:
now_time = time.time()
t = now_time - is_read_time
if t > 60 * 30:
obj.update_views()
ses[the_key] = time.time()
# 获取文章更新的时间,判断是否从缓存中取文章的markdown,可以避免每次都转换
ud = obj.update_date.strftime("%Y%m%d%H%M%S")
md_key = '{}_md_{}'.format(obj.id, ud)
cache_md = cache.get(md_key)
if cache_md:
obj.body, obj.toc = cache_md
else:
md = markdown.Markdown(extensions=[
'markdown.extensions.extra',
'markdown.extensions.codehilite',
TocExtension(slugify=slugify),
])
obj.body = md.convert(obj.body)
obj.toc = md.toc
cache.set(md_key, (obj.body, obj.toc), 60 * 60 * 12)
return obj
示例9: get_context_data
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_context_data(self, **kwargs):
# Super calls DetailView's `get_context_data` so we'll manually add form
context = super().get_context_data(**kwargs)
apps = context['leader_applications']
context['num_chairs'] = self.num_chairs
context['needs_rec'] = self.needs_rec(apps)
context['needs_rating'] = self.needs_rating(apps)
context['pending'] = context['needs_rating'] or context['needs_rec']
context['activity_enum'] = enums.Activity(self.kwargs['activity'])
accepting_apps = models.LeaderApplication.accepting_applications(self.activity)
context['new_applications_disabled'] = not accepting_apps
context['apps_by_year'] = self._group_applications_by_year(apps)
return context
示例10: get_object
# 需要导入模块: from django.views import generic [as 别名]
# 或者: from django.views.generic import DetailView [as 别名]
def get_object(self, queryset=None):
obj = super(DetailView, self).get_object(queryset)
if obj:
obj.incrementa_visualizzazioni()
return obj