Преобразование обсуждения из комментариев здесь:
В общем, вы хотите использовать представленные Django виды батарей, перед тем как развернуть свои собственные, и даже перед тем, как свернуть свои собственные с самого начала, вы бы хочу наследовать и расширять представления Django, такие как LoginView .
Тот же принцип применим к (хорошо спроектированным) внешним библиотекам, таким как связанные django-two-factor-auth
.
Вначале вы просто используете представленные в нем представления, вероятно, непосредственно include()
с помощью модуля urls
.
Затем, если вам нужно что-то настроить в этих представлениях, вы наследуете от этого представления, например,
from two_factor.views import LoginView
class MyLoginView(LoginView):
template_name = 'super_fancy_login_template.html'
form_list = (
('auth', MyAwesomeAuthenticationForm),
# ... the rest from the original here ...
)
и подключите его в urls
перед представлением библиотеки по тому же пути:
from django.conf.urls import url
from my_awesome_app.views import MyLoginView
urlpatterns = [
url(
regex=r'^account/login/ и эй presto, вы заменили смотреть со своим.
Очевидно, что чем больше вы заменяете подобные детали, тем меньше у вас появляется «гарантия» (а не на то, что на ПО с открытым исходным кодом вообще предоставляется гарантия;)), что все по-прежнему работает так, как должно.
,
view=MyLoginView.as_view(),
name='login',
),
include(...),
]
и эй presto, вы заменили смотреть со своим.
Очевидно, что чем больше вы заменяете подобные детали, тем меньше у вас появляется «гарантия» (а не на то, что на ПО с открытым исходным кодом вообще предоставляется гарантия;)), что все по-прежнему работает так, как должно.
У меня раньше была похожая проблема, и это было из-за долго работающей части JS, которая была в середине страница, браузер ждал, пока он завершит выполнение, прежде чем он завершит загрузку дополнительных файлов для сайта.
Я не уверен, является ли это проблемой для вас или нет, но это проявилось в похожей ситуации. образом.
ЕСЛИ вы используете ВСЕГДА в вашем коде поведения (или библиотека, которую вы используете их) например,
<style>
body * {
behavior:url(anyfile.htc);
}
</style>
Тогда есть НЕТ решения , о котором я знаю, и сообщение об ошибке , поданное в IE Feedback on Connect для IE8 (и IE7), было отклонено для обоих выпусков со следующим общим консервативным оператором:
Это известная ошибка в IE, которая также встречается в предыдущих версиях IE. Причина, по которой вы увидеть сотни запросов в строке состояния, потому что IE пытается прочитать файл htc с диска снова и снова для каждого элемента на странице. К сожалению, в это время мы не планируем исправлять это. Мы рассмотрим это в будущей версии IE.
С уважением, Команда IE
Так как это тот же самый ответ, полученный для разработки IE7, я не буду задерживать дыхание на КОГДА-ЛИБО с этим исправленным.
Обновление:
Еще одна мысль, основанная на вашем обновлении ноты. Если страница не совсем отзывчива, как будто она все еще что-то загружает, проверьте визуализированное содержимое DOM на наличие вызовов document.write ()
{вы, возможно, не добавили их, но библиотека может иметь }.
Если они существуют, попробуйте добавить оператор document.close ();
после их завершения, это сообщит браузеру, что вы «сделали» рендеринг.
PS вот ссылка Вы можете сохранить в виде закладки (щелкните правой кнопкой мыши «Добавить в избранное ...»), которая покажет вам сгенерированный DOM в том виде, в котором его видит IE (безобразная quoteLess = CaMelCaSeMeSS), выполнив поиск по результату, чтобы найти какой-нибудь изворотливый код, который может быть причиной проблем.
IE Generated Source: (добавьте это как местоположение для любой закладки, редактор не позволит мне связать ее)
javascript:'<xmp>'+window.document.body.parentNode.outerHTML+'</xmp>';
It is to do with the "fix" for transparent PNGs in IE.
I was having this same problem with a site im working on and soon found there is no valid solution that fixes both this issue and the Transparent PNG images.
Что касается кэширования изображений, мне пришлось использовать обработчик HTTP, чтобы правильно кэшировать изображения. В частности, в меню CSS было изображение стрелки, которая вызывала бы точное поведение, с которым вы имеете дело, поскольку оно использовалось несколько раз в каждом меню.
Вот код для обработчика: http: //www.groovybits.com/SrcViewer.aspx?inspect=~/PersistantImage.ashx
Вы используете его, добавив AppSetting
в web.config
:
<add key="UniqueImageName" value="~/Images/image_name.gif"/>
И ссылаться на источник каждого изображения, используя обработчик вместо пути к самому изображению:
~/Handlers/PersistantImage.ashx?key=UniqueImageName
У этого парня отличная статья о проблемах с кешированием IE6 , но блог, похоже, не работает.
Он разделил проблему на две части:
через innerHTML. Естественным решением проблемы №2 является использование фонового изображения
вместо тегов
; коварно, это приведет вас прямо к проблеме №1; в результате вы можете решить проблему №2, ошибочно полагая, что у вас нет прогресса.
В моем случае я решил обе проблемы сразу, заменив свои теги innerHTML
на теги
background- image
и использовали document.execCommand ("BackgroundImageCache", false, true)
для устранения мерцания.