Форум сайта python.su
FileUpload (POST) in Django version 1.2.1 & CSRF token missing
django-admin.py startproject demo
cd demo
mkdir templates
Нужно банально отгрузить файл на сервер
смотрим в http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/
Догадываемся создать файл forms.py
from django import forms
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from forms import * #тоже догадываемся
# Imaginary function to handle an uploaded file.
from somewhere import handle_uploaded_file
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/success/url/')
else:
form = UploadFileForm()
return render_to_response('upload.html', {'form': form})
<form action="" method="post" enctype="multipart/form-data">
{{form}}
<input type="submit" value="Send">
</form>
Офлайн
http://docs.djangoproject.com/en/1.2/ref/contrib/csrf/
<form action="" method="post">{% csrf_token %}
Офлайн
amigoДобавил, теже грабли.
http://docs.djangoproject.com/en/1.2/ref/contrib/csrf/<form action="" method="post">{% csrf_token %}
c = {}
c.update(csrf(request))
return render_to_response('upload.html', {'form': form}, c)
<form action="" method="post" enctype="multipart/form-data"{% csrf_token %} {{c}} >
Офлайн
Надо ещё раз перечитать раздел в документации и не пихать всё подряд из примеров.
Офлайн
amigoСовет претендует на оригинальность?
Надо ещё раз перечитать раздел в документации и не пихать всё подряд из примеров.
Офлайн
Проверьте наличие middleware и шаблоне формы напишите тег что выше дан. Ничего во вьюхи писать не требуется.
Офлайн
from django.template import RequestContext
...
return render_to_response('upload.html', {'form': form}, context_instance=RequestContext(request))
Отредактировано (Авг. 26, 2010 14:49:58)
Офлайн