基于派生django类的视图和上下文数据
我有个问题。我至少有三个类和一个上下文数据标题谁是页面的标题 表单的一个通用类:基于派生django类的视图和上下文数据,django,django-class-based-views,Django,Django Class Based Views,我有个问题。我至少有三个类和一个上下文数据标题谁是页面的标题 表单的一个通用类: class Myformview(generic.FormView): form_class = None template_name = None titre=None @method_decorator(login_required) def dispatch(self, *args, **kwargs): """on a besoin pour le
class Myformview(generic.FormView):
form_class = None
template_name = None
titre=None
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
"""on a besoin pour le method decorator"""
return super(Myformview, self).dispatch(*args, **kwargs)
def get_context_data(self, *args, **kwargs):
context= super(Myformview, self).get_context_data(*args, **kwargs)
if self.titre is not None:
context.update({'titre':self.titre})
return context
因为我有不同的方法导出基类以导出数据:
class ExportViewBase(FormView):
template_name = 'param_export.djhtm' # nom du template
model_initial = None # model d'ou on tire les dates initiales
extension_file = None
nomfich = None
debug = False
form_class = None
def export(self, query):
"""
fonction principale mais abstraite
"""
raise django_exceptions.ImproperlyConfigured(
"attention, il doit y avoir une methode qui extrait effectivement")
def get_initial(self):
"""gestion des donnees initiales"""
if self.model_initial is None:
raise django_exceptions.ImproperlyConfigured("un modele d'ou on tire les dates initiales doit etre defini")
date_min = self.model_initial.objects.aggregate(
element=models_agg.Min('date'))['element']
date_max = self.model_initial.objects.aggregate(
element=models_agg.Max('date'))['element']
return {'date_min': date_min, 'date_max': date_max}
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
"""on a besoin pour le method decorator"""
return super(ExportViewBase, self).dispatch(*args, **kwargs)
def form_valid(self, form):
"""si le form est valid"""
reponse = self.export(query=form.query)
if self.nomfich is None:
raise django_exceptions.ImproperlyConfigured('nomfich undefined')
if self.extension_file is None:
raise django_exceptions.ImproperlyConfigured('extension_file undefined')
reponse["Cache-Control"] = "no-cache, must-revalidate"
reponse['Pragma'] = "public"
reponse["Content-Disposition"] = "attachment; filename=%s_%s.%s" % (self.nomfich, time.strftime("%d_%m_%Y-%H_%M_%S",time.localtime()), self.extension_file)
return reponse
以及出口的有效类别:
class Export_view_sql(export_base.ExportViewBase):
extension_file = "sql"
debug = True
nomfich = "export_full"
model_initial=models.Ope
form_class = export_base.Exportform_ope
titre="export sql"
def export(self, query):
pass#code to export
然而,它并没有像预期的那样更新滴度。这是什么原因
如果我在
ExportViewBase
中设置titre,它会工作,但在Export\u view\u sql
中则不会 在您的示例中,ExportViewBase
扩展了FormView
,而不是Myformview
,这是打字错误吗?明白了。我看到打字错误;)