【发布时间】:2013-01-29 00:59:31
【问题描述】:
我有一些我编写的代码,它可以很好地用于它的目的。
from django.shortcuts import get_object_or_404
from django.views.generic import ListView
from cab.models import Language
class LanguageDetail(ListView):
def get_queryset(self):
slug = self.kwargs['slug']
language = get_object_or_404(Language, slug=slug)
return language.snippet_set.all()
paginate_by = 20
template_name = 'cab/language_detail.html'
def get_context_data(self, **kwargs):
slug = self.kwargs['slug']
language = get_object_or_404(Language, slug=slug)
context = super(LanguageDetail, self).get_context_data(**kwargs)
context['language'] = language
return context
我的问题是我在两个函数中重复了两行代码,我不喜欢这样。
slug = self.kwargs['slug']
language = get_object_or_404(Language, slug=slug)
我怎样才能避免这种情况? 提前致谢。
【问题讨论】:
-
将其重构为单独的函数/方法
标签: python django django-views django-generic-views