Это - миф, что Вы не можете пропустить память в управляемом коде. Предоставленный, это намного более твердо, чем в неуправляемом C++, но существует миллион способов сделать это. Статические объекты, содержащие ссылки, ненужные ссылки, кэширование, и т.д. при выполнении вещей "правильный" путь, многие объекты, не будут значительно позже собираться "мусор", чем необходимый, который является видом утечки памяти, слишком по-моему, в практическом и не теоретическом пути.
, К счастью, существуют инструменты, которые могут помочь Вам. Я использую Microsoft Профилировщик CLR много - это не самый удобный для пользователя инструмент, никогда записанный, но это определенно очень полезно, и это свободно.
См. Ответы ниже для лучшего решения. С тех пор, как я написал это, многое изменилось. Теперь есть более эффективные способы отключить CSRF.
Я чувствую твою боль. Изменение такой фундаментальной функциональности фреймворком недопустимо. Даже если я хочу начать использовать это с этого момента, у меня есть устаревшие сайты на том же компьютере, которые используют копию django. Подобные изменения должны потребовать пересмотра основного номера версии. 1.x -> 2.x.
В любом случае, чтобы исправить это, я просто закомментировал это и перестал так часто обновлять Django.
Файл: django / middleware / csrf.py Около строки 160:
# check incoming token
# request_csrf_token = request.POST.get('csrfmiddlewaretoken', None)
# if request_csrf_token != csrf_token:
# if cookie_is_new:
# # probably a problem setting the CSRF cookie
# return reject("CSRF cookie not set.")
# else:
# return reject("CSRF token missing or incorrect.")
В общем, вам не следует отключать защиту CSRF, поскольку это открывает дыры в безопасности. Если вы настаиваете, хотя…
Совсем недавно в транк появился новый способ защиты от CSRF. Ваш сайт случайно все еще настроен на работу по-старому? Вот документы для The New Way ™ и документы для The Old Way ™ .
Да, фреймворк Django csrf можно отключить.
Чтобы вручную исключить функцию просмотра из обработки каким-либо промежуточным программным обеспечением CSRF, вы можете использовать декоратор csrf_exempt, находящийся в модуле django.views.decorators.csrf. Например: ( см. Документ )
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view:
return Httpresponse("hello world")
.. а затем удалите {% csrf_token%}
внутри форм из вашего шаблона или оставьте другие вещи без изменений, если вы его не включили в ваших формах.