~ubuntu-branches/ubuntu/maverick/gunicorn/maverick

« back to all changes in this revision

Viewing changes to examples/frameworks/djangotest/testing/views.py

  • Committer: Bazaar Package Importer
  • Author(s): Chris Lamb
  • Date: 2010-07-16 10:44:12 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100716104412-iddgoj0lss2hxg7q
Tags: 0.10.0-1
* New upstream release.
* Add python-setproctitle to Suggests. Thanks to Örjan Persson
  <orange@fobie.net>.
* Bump Standards-Version to 3.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Create your views here.
 
2
 
 
3
import csv
 
4
import os
 
5
from django import forms
 
6
from django.http import HttpResponse
 
7
from django.shortcuts import render_to_response
 
8
import tempfile
 
9
 
 
10
class MsgForm(forms.Form):
 
11
    subject = forms.CharField(max_length=100)
 
12
    message = forms.CharField()
 
13
    f = forms.FileField()
 
14
    
 
15
 
 
16
def home(request):
 
17
    
 
18
    subject = None
 
19
    message = None
 
20
    size = 0
 
21
    if request.POST:
 
22
        form = MsgForm(request.POST, request.FILES)
 
23
        print request.FILES
 
24
        if form.is_valid():
 
25
            subject = form.cleaned_data['subject']
 
26
            message = form.cleaned_data['message']
 
27
            f = request.FILES['f']
 
28
            tmp =  tempfile.TemporaryFile()
 
29
            for chunk in f.chunks():
 
30
                tmp.write(chunk)
 
31
            tmp.flush()
 
32
            size = int(os.fstat(tmp.fileno())[6])
 
33
    else:
 
34
        form = MsgForm()
 
35
        
 
36
        
 
37
    return render_to_response('home.html', {
 
38
        'form': form,
 
39
        'subject': subject,
 
40
        'message': message,
 
41
        'size': size
 
42
    })
 
43
    
 
44
    
 
45
def acsv(request):
 
46
    rows = [
 
47
        {'a': 1, 'b': 2},
 
48
        {'a': 3, 'b': 3}
 
49
    ]
 
50
 
 
51
    response = HttpResponse(mimetype='text/csv')
 
52
    response['Content-Disposition'] = 'attachment; filename=report.csv'
 
53
 
 
54
    writer = csv.writer(response)
 
55
    writer.writerow(['a', 'b'])
 
56
 
 
57
    for r in rows:
 
58
        writer.writerow([r['a'], r['b']])
 
59
        
 
60
    return response