Skip to content

Commit 519074e

Browse files
committed
support django 1.6.x
1 parent 8415f25 commit 519074e

File tree

6 files changed

+36
-9
lines changed

6 files changed

+36
-9
lines changed

_compact.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
try:
2+
from django.http import JsonResponse
3+
except ImportError:
4+
from django.http import HttpResponse
5+
import json
6+
7+
def JsonResponse(data):
8+
return HttpResponse(json.dumps(data),
9+
content_type="application/json")

django_excel/__init__.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from django.http import HttpResponse
1616
import pyexcel as pe
1717
import pyexcel_webio as webio
18+
from ._compact import DJANGO_ONE_SIX
1819

1920

2021
class ExcelMixin(webio.ExcelInput):
@@ -78,15 +79,17 @@ def file_complete(self, file_size):
7879
if not self.activated:
7980
return
8081
self.file.seek(0)
81-
return ExcelInMemoryUploadedFile(
82+
keywords = dict(
8283
file=self.file,
8384
field_name=self.field_name,
8485
name=self.file_name,
8586
content_type=self.content_type,
8687
size=file_size,
87-
charset=self.charset,
88-
content_type_extra=self.content_type_extra
88+
charset=self.charset
8989
)
90+
if not DJANGO_ONE_SIX:
91+
keywords["content_type_extra"] = self.content_type_extra
92+
return ExcelInMemoryUploadedFile(**keywords)
9093

9194

9295
class TemporaryExcelFileUploadHandler(TemporaryFileUploadHandler):
@@ -101,12 +104,14 @@ def new_file(self, file_name, *args, **kwargs):
101104
file_name,
102105
*args,
103106
**kwargs)
104-
self.file = TemporaryUploadedExcelFile(
107+
custom_args = [
105108
self.file_name,
106109
self.content_type,
107110
0,
108-
self.charset,
109-
self.content_type_extra)
111+
self.charset]
112+
if not DJANGO_ONE_SIX:
113+
custom_args.append(self.content_type_extra)
114+
self.file = TemporaryUploadedExcelFile(*custom_args)
110115

111116

112117
def _make_response(content, content_type, status, file_name=None):

django_excel/_compact.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import pkg_resources
2+
from distutils.version import LooseVersion
3+
4+
5+
django_version = pkg_resources.get_distribution('django').version
6+
7+
8+
DJANGO_ONE_SIX = (
9+
LooseVersion(django_version) < LooseVersion("1.7.0") and
10+
LooseVersion(django_version) > LooseVersion("1.5.12")
11+
)

mysite/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
1212
import os
13+
1314
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
1415

1516

@@ -49,11 +50,11 @@
4950
'django.middleware.common.CommonMiddleware',
5051
'django.middleware.csrf.CsrfViewMiddleware',
5152
'django.contrib.auth.middleware.AuthenticationMiddleware',
52-
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
5353
'django.contrib.messages.middleware.MessageMiddleware',
5454
'django.middleware.clickjacking.XFrameOptionsMiddleware'
5555
)
5656

57+
5758
ROOT_URLCONF = 'mysite.urls'
5859

5960
WSGI_APPLICATION = 'mysite.wsgi.application'

polls/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.shortcuts import render
2-
from django.http import HttpResponseBadRequest, JsonResponse, HttpResponse
2+
from django.http import HttpResponseBadRequest, HttpResponse
3+
from _compact import JsonResponse
34
from django import forms
45
import django_excel as excel
56
from polls.models import Question, Choice

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
pyexcel>=0.2.2
22
pyexcel-webio>=0.0.7
3-
Django>=1.7.1
3+
Django>=1.4.1

0 commit comments

Comments
 (0)