add simple upload form test by adding its management in django ex

This commit is contained in:
benoitc 2010-02-28 21:43:34 +01:00
parent c2f12a4977
commit d50420848e
2 changed files with 15 additions and 3 deletions

View File

@ -1,7 +1,7 @@
{% extends "base.html" %}
{% block content %}
<form method="post">
<form method="post" enctype='multipart/form-data'>
<table>
{{ form.as_table }}
</table>
@ -12,5 +12,6 @@
{% if subject %}
<p><strong>subject:</strong><br>{{ subject}}</p>
<p><strong>message:</strong><br>{{ message }}</p>
<p><strong>size:</strong><br>{{ size }}</p>
{% endif %}
{% endblock content %}

View File

@ -1,22 +1,32 @@
# Create your views here.
import os
from django import forms
from django.shortcuts import render_to_response
import tempfile
class MsgForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
f = forms.FileField()
def home(request):
subject = None
message = None
size = 0
if request.POST:
form = MsgForm(request.POST)
form = MsgForm(request.POST, request.FILES)
print request.FILES
if form.is_valid():
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
f = request.FILES['f']
tmp = tempfile.TemporaryFile()
for chunk in f.chunks():
tmp.write(chunk)
size = int(os.fstat(tmp.fileno())[6])
else:
form = MsgForm()
@ -24,7 +34,8 @@ def home(request):
return render_to_response('home.html', {
'form': form,
'subject': subject,
'message': message
'message': message,
'size': size
})