diff --git a/ajaximage/fields.py b/ajaximage/fields.py index 2498a9a..bff37cc 100644 --- a/ajaximage/fields.py +++ b/ajaximage/fields.py @@ -31,7 +31,11 @@ def __init__(self, *args, **kwargs): super(AjaxImageField, self).__init__(*args, **kwargs) def contribute_to_class(self, cls, name, virtual_only=False): - super(AjaxImageField, self).contribute_to_class(cls, name, virtual_only) + # Django 1.4 hack, do not use virtual_only parameter with 1.4 + if virtual_only: + super(AjaxImageField, self).contribute_to_class(cls, name, virtual_only) + else: + super(AjaxImageField, self).contribute_to_class(cls, name) setattr(cls, self.name, self.descriptor_class(self)) def get_prep_value(self, value): diff --git a/ajaximage/views.py b/ajaximage/views.py index f9ea9ad..e513187 100644 --- a/ajaximage/views.py +++ b/ajaximage/views.py @@ -4,12 +4,15 @@ from django.contrib.auth.decorators import user_passes_test from django.core.files.storage import default_storage from django.http import HttpResponse -from django.utils.text import slugify -from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_POST from .image import resize from .forms import FileForm +try: + from django.utils.text import slugify +except: + #Django 1.4 support + from django.template.defaultfilters import slugify UPLOAD_PATH = getattr(settings, 'AJAXIMAGE_DIR', 'ajaximage/') AUTH_TEST = getattr(settings, 'AJAXIMAGE_AUTH_TEST', lambda u: u.is_staff) diff --git a/ajaximage/widgets.py b/ajaximage/widgets.py index ef7158b..c88c27a 100644 --- a/ajaximage/widgets.py +++ b/ajaximage/widgets.py @@ -1,6 +1,6 @@ import os from django.forms import widgets -from django.utils.safestring import mark_safe +from django.utils.safestring import mark_safe, SafeUnicode from django.core.urlresolvers import reverse from django.core.files.storage import default_storage @@ -60,11 +60,11 @@ def render(self, name, value, attrs=None): file_name = os.path.basename(file_url) - output = self.html.format(upload_url=upload_url, + output = SafeUnicode(self.html.format(upload_url=upload_url, file_url=file_url, file_name=file_name, file_path=file_path, element_id=element_id, - name=name) + name=name)) return mark_safe(output)