У меня есть приложение Django, и я использую представления на основе классов в некоторых его частях.Когда я пытаюсь получить доступ к этим представлениям в IE 11, он загружает html вместо его рендеринга.Я искал в Интернете и обнаружил, что другие посты рассказывают о той же проблеме: https://www.reddit.com/r/django/comments/74r2af/django_not_working_with_internet_explorer/ и Django: Internet Explorer загружает контент страницы, а не отображает ее IE 11 Загрузки Страница вместо открытияэто работает в Chrome и Firefox
В соответствии с этим возникает проблема рендеринга, вызванная неправильным определением контекста, но мой взгляд выглядит следующим образом:
class BaseContentMixin(ActiveLoginRequiredMixin, TenantHasRolePermMixin, TenantActiveNotExpiredMixin, TenantHasPermMixin, SetDefaultTimezoneMixin):
"""
Attributes:
content (str): content name, i.e 'training'.
content_type (str): content type, 'shared' or 'custom'.
permission (str): permission, i.e 'TRAININGS'.
"""
content = ''
content_type = ''
role_permission = 'SEE'
permission = ''
def get_content_class(self):
return Util.get_content_class('{}-{}'.format(self.content, self.content_type))
def get_content_shared_class(self):
return Util.get_content_class('{}-shared'.format(self.content))
class ContentListView(BaseContentMixin, TemplateView):
def get_context_data(self, **kwargs):
context = super(ContentListView, self).get_context_data(**kwargs)
context['title'] = Util.get_content_title(self.content)
context['active'] = self.content
context['submenu_active'] = '{}_{}'.format(self.content, self.content_type)
context['objects'] = self.get_content_class().objects.get_for_user(self.request.user)
context['toggle_url'] = reverse('{}_{}_active_toggle'.format(self.content, self.content_type))
context['add_url'] = reverse('{}_{}_add'.format(self.content, self.content_type), kwargs={'lang': get_language()})
if self.content_type == 'custom':
contents_shared = self.get_content_shared_class().objects.get_topics(self.request.user)
context['form'] = Util.get_content_form_from_template(self.content)(contents_shared=contents_shared)
context['add_url_from_template'] = reverse('{}_custom_add_from_template'.format(self.content), kwargs={'lang': get_language()})
return context
Когда янапечатайте контекст, который он мне дает:
{
'add_url_from_template': u'/trainings/custom/add-from-template/es-ar/',
'form': <TrainingCustomFromTemplateFrombound=False,
valid=Unknown,
fields=(trainings_template)>,
'title': u'M\xf3dulos Interactivos',
'add_url': u'/trainings/custom/add/es-ar/',
'objects': <TranslationQueryset[
<TrainingCustom: 1a1a1a1a1aa1>,
<TrainingCustom: DoubleTest1>,
<TrainingCustom: DoubleTest2>,
<TrainingCustom: Nuevito>,
<TrainingCustom: TestCampaign4>,
<TrainingCustom: TestCampaignDOUBLETEST>,
<TrainingCustom: TestCampaignDoubleTest1>,
<TrainingCustom: TestCampaignTest>,
<TrainingCustom: TestCampaignTest2>,
<TrainingCustom: TestCampaignTest3>,
<TrainingCustom: aversifunk>,
<TrainingCustom: eeee>,
<TrainingCustom: qweqweqwew>,
<TrainingCustom: rrrr>,
<TrainingCustom: weqwe>,
<TrainingCustom: wqeqweqwe>
]>,
'toggle_url': u'/trainings/custom/active-toggle/',
'submenu_active': 'training_custom',
'active': 'training',
u'view': <trainingcustom.views.TrainingCustomListViewobjectat0x10af0b550>
}
В этом нет ничего плохого, я застрял здесь.Я подумал, что если бы это была проблема совместимости TemplateView / IE11, я должен был бы найти некоторую информацию об этом.