0
파일을 게시하려고 할 때 문제가 있습니다. Django-nonrel을 사용하여 GAE에 파일을 게시 할 때 CSRF 오류가 발생했습니다.
하지만 GAE에
, 난 단지 만 결코 파일을 텍스트를 게시 할 수 있습니다내가 dev에 서버에있을 때 그것은 잘 작동. 내가 적절한 미들웨어
# Media middleware has to come first
'mediagenerator.middleware.MediaMiddleware',
# This loads the index definitions, so it has to come first
'autoload.middleware.AutoloadMiddleware',
'django.middleware.cache.UpdateCacheMiddleware',# the "update" middleware must be first
'django.contrib.sessions.middleware.SessionMiddleware', # Session middleware needs to come before Auth middleware, because authentication is handled with sessions.
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.csrf.middleware.CsrfViewMiddleware',# It should come before any view middleware that assume that CSRF attacks have been dealt with.
'django.middleware.csrf.CsrfResponseMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',# the "fetch" middleware must be last
'google.appengine.ext.appstats.recording.AppStatsDjangoMiddleware',
내가 장고 일부 CSRF 토큰 "csrfmiddlewaretoken"라는 숨겨진 입력을 추가 참조를 포함했다고 생각
<form id="file" method="post" enctype="multipart/form-data" encoding="multipart/form-data" action="{{ upload_url }}">
{% for field in upload_form %}
<div class="field">
{{ field.label_tag }}
<div class="input">
{{ field }} {{ field.help_text }}
</div>
{% if field.errors %}
<ul class="errors">
{% for error in field.errors %}
<li>{{ error|escape }}</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endfor %}
<input class="submit" type="submit" value="Upload"/>
</form>
: 아래
은 내가 사용하고있는 형태이다 dev 서버 및 GAE의 값.그러나 파일 업로드를 시도 할 때마다 csrf 오류 메시지가 나타납니다.
나는 캐싱 미들웨어를 포함시킨 직후부터 캐싱이 시작 되었기 때문에 캐싱이이 문제를 일으킨 것으로 생각됩니다.
지금 나는 내 middlewares를 재정렬함으로써이 문제를 해결하려고하고 있지만 지금까지는 행운이 없습니다.
누구든지 전에 내 문제에 직면 했습니까?
이 경우에는 적용되지 않습니다. CsrfResponseMiddleware csrf 토큰을 자동으로 추가합니다. – taelimoh