Форум сайта python.su
221
Надо писать ПОЛНЫЙ traceback ошибки. Я вижу что токен вы не передаете, об этом и ругается. Для этого и надо делать то что я вам указывал - csrf(request)
Вы что то делаете явно не так. Но я не могу вам помочь - постоянно нету информации.
Офлайн
0
НУ простите новичку, не ругайтесь)
Вот трейсбек и чутка больше:
Error during template rendering In template C:\Test_prolect_1\Appl_1\templates\blog\name.html, error at line 2 % csrf_token % 1 <form action="/your-name/" method="post"> 2 {% csrf_token %} 3 {{ form }} 4 <input type="submit" value="Submit" /> 5 </form> Traceback Switch to copy-and-paste view C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response response = self.process_exception_by_middleware(e, request) ... ▶ Local vars C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ... ▶ Local vars C:\Test_prolect_1\Appl_1\views.py in get_name return render_to_response("blog/name.html", c) ... ▶ Local vars C:\Python27\lib\site-packages\django\shortcuts.py in render_to_response content = loader.render_to_string(template_name, context, using=using) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\loader.py in render_to_string return template.render(context, request) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\backends\django.py in render return self.template.render(context) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\base.py in render return self._render(context) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\base.py in _render return self.nodelist.render(context) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\base.py in render bit = node.render_annotated(context) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\base.py in render_annotated return self.render(context) ... ▶ Local vars C:\Python27\lib\site-packages\django\template\defaulttags.py in render return format_html("<input type='hidden' name='csrfmiddlewaretoken' value='{}' />{% csrf_token %}", csrf_token) ... ▶ Local vars C:\Python27\lib\site-packages\django\utils\html.py in format_html return mark_safe(format_string.format(*args_safe, **kwargs_safe)) ... ▶ Local vars Request information GET No GET data POST No POST data FILES No FILES data COOKIES Variable Value csrftoken '3abPEwr09bwWpfIrgNXzIJBSCrrXbo28' META Variable Value TMP 'C:\\Users\\111\\AppData\\Local\\Temp' PYTHONIOENCODING 'UTF-8' COMPUTERNAME 'JOKER' wsgi.multiprocess False VS140COMNTOOLS 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\' RUN_MAIN 'true' HTTP_COOKIE 'csrftoken=3abPEwr09bwWpfIrgNXzIJBSCrrXbo28' USERDOMAIN 'JOKER' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SOFTWARE 'WSGIServer/0.1 Python/2.7.12' PSMODULEPATH 'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\' SCRIPT_NAME u'' COMMONPROGRAMFILES 'C:\\Program Files (x86)\\Common Files' PROCESSOR_IDENTIFIER 'Intel64 Family 6 Model 42 Stepping 7, GenuineIntel' REQUEST_METHOD 'GET' PROGRAMFILES 'C:\\Program Files (x86)' PROCESSOR_REVISION '2a07' SYSTEMROOT 'C:\\WINDOWS' QUERY_STRING '' PATH 'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Broadcom\\Broadcom 802.11 Network Adapter\\Driver;C:\\Program Files\\Lenovo\\Bluetooth Software\\;C:\\Program Files\\Lenovo\\Bluetooth Software\\syswow64;C:\\Program Files (x86)\\Skype\\Phone\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\WINDOWS\\system32\\config\\systemprofile\\.dnx\\bin;C:\\Program Files\\Microsoft DNX\\Dnvm\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Python27;C:\\Python27\\Scripts;C:\\Python27\\lib\\site-packages\\django\\bin;\xd1:\\MinGW\\bin;\xd1:\\MinGW\\msys\\1.0\\bin;C:\\Python27\\lib\\site-packages\\pywin32_system32;C:\\Python27\\lib\\site-packages\\pywin32_system32' PYTHONUNBUFFERED '1' PROGRAMFILES(X86) 'C:\\Program Files (x86)' WINDOWS_TRACING_FLAGS '3' CONTENT_LENGTH '' HTTP_USER_AGENT 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0' HTTP_CONNECTION 'keep-alive' WINDOWS_TRACING_LOGFILE 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log' REMOTE_ADDR '127.0.0.1' COMMONPROGRAMFILES(X86) 'C:\\Program Files (x86)\\Common Files' PROCESSOR_ARCHITECTURE 'x86' wsgi.url_scheme 'http' ALLUSERSPROFILE 'C:\\ProgramData' SERVER_PORT '8000' LOCALAPPDATA 'C:\\Users\\111\\AppData\\Local' FPS_BROWSER_USER_PROFILE_STRING 'Default' HOMEPATH '\\Users\\111' USERDOMAIN_ROAMINGPROFILE 'JOKER' PROGRAMW6432 'C:\\Program Files' USERNAME '111' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' LOGONSERVER '\\\\JOKER' COMSPEC 'C:\\WINDOWS\\system32\\cmd.exe' PROCESSOR_LEVEL '6' PROGRAMDATA 'C:\\ProgramData' PYTHONPATH 'C:\\Test_prolect_1' wsgi.multithread True CSRF_COOKIE u'3abPEwr09bwWpfIrgNXzIJBSCrrXbo28' TEMP 'C:\\Users\\111\\AppData\\Local\\Temp' FPS_BROWSER_APP_PROFILE_STRING 'Internet Explorer' wsgi.input <socket._fileobject object at 0x038445F0> wsgi.errors <open file '<stderr>', mode 'w' at 0x0273D0D0> HTTP_HOST '127.0.0.1:8000' SESSIONNAME 'Console' PATHEXT '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' CSRF_COOKIE_USED True PATH_INFO u'/' FP_NO_HOST_CHECK 'NO' WINDIR 'C:\\WINDOWS' wsgi.file_wrapper '' HTTP_ACCEPT_ENCODING 'gzip, deflate' wsgi.version (1, 0) MOZ_PLUGIN_PATH 'C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\plugins\\' HOMEDRIVE 'C:' SERVER_NAME 'JoKeR' wsgi.run_once False REMOTE_HOST '' SYSTEMDRIVE 'C:' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_LANGUAGE 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3' PYCHARM_HOSTED '1' NUMBER_OF_PROCESSORS '4' APPDATA 'C:\\Users\\111\\AppData\\Roaming' DJANGO_SETTINGS_MODULE 'Test_prolect_1.settings' CONTENT_TYPE 'text/plain' PROCESSOR_ARCHITEW6432 'AMD64' COMMONPROGRAMW6432 'C:\\Program Files\\Common Files' OS 'Windows_NT' PUBLIC 'C:\\Users\\Public' USERPROFILE 'C:\\Users\\111'
Офлайн
0
Лучше поздно, чем никогда, но сегодня я досмотрелся вот до чего: в name.html я указываю метод POST
<form action="/your-name/" method="POST"> {% csrf_token %} {{ form }} <input type="submit" value="Submit" /> </form>
KeyError at / u'% csrf_token %' Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 1.9.7 Exception Type: KeyError Exception Value: u'% csrf_token %' Exception Location: C:\Python27\lib\site-packages\django\utils\html.py in format_html, line 101 Python Executable: C:\Python27\python.exe Python Version: 2.7.12 Python Path: ['C:\\Test_prolect_1', 'C:\\Test_prolect_1', 'C:\\WINDOWS\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin'] Server time: Mon, 11 Jul 2016 11:51:06 +0300
Офлайн
0
Итак, провёл я небольшое исследование примитивное и решил проблему.
В чём собственно она состояла, в том, что я новичок и в своих изысканиях ориентировался только на советы бывалых, на всякие форумы и многочисленные мануалы, которые советовали много чего.
Решение нашлось тогда, когда я решил найти пересечения двух основных советов. Я нарисовал простейшую таблу, куда добавил два наиболее употребительных совета:
1) прописать\закоментить django.middleware.csrf.CsrfViewMiddleware в файле settings.py;
2) прописать или удалить {% csrf_token %} в форме веб страницы;
Получилось как то так:
ссылко на картинко
Ну вот неожиданно решением было удалить и то и то)
Если кому-то поможет, пользуйтесь наздоровье.
Если я сделал не правильно и тем самым понизил безопасность системы - пните меня пожалуйста.
В любом случае всем спасибо. Тема закрыта.
ЗЫ. Пишу через 3 минуты. Дошло наконец, что это я просто отключил работу с CSRF но проблему не решил. Резко повысил уязвимость приложения.
Буду рыть дальше.
PSS. Посмотрел информацию о странице - кука на месте. Неуж-то всё работает, как я сначала подумал.
Отредактировано Mahabharata871 (Июль 11, 2016 14:55:50)
Офлайн