jrief / django-shop

A Django based shop system
http://www.django-shop.org
BSD 3-Clause "New" or "Revised" License
32 stars 13 forks source link

support django 1.8 #26

Closed vivazzi closed 8 years ago

vivazzi commented 8 years ago

in /shop/forms/base.py replace

from django.contrib.formtools.wizard.views import normalize_name

to

try:
    from formtools.wizard.views import normalize_name
except ImportError, e:
    from django.contrib.formtools.wizard.views import normalize_name
jrief commented 8 years ago

Thanks for reporting. btw. you should write except ImportError as e: instead of except ImportError, e:.

vivazzi commented 8 years ago

There are two moments (may be more) for support django 1.8: 1 - in shop/cascade/checkout.py

from django.template.loader import get_template_from_string

to

try:
    from django.template import Engine

    def get_template_from_string(template_code):
        return Engine().from_string(template_code)
except ImportError:
    from django.template.loader import get_template_from_string

2 - in cmsplugin_cascade/segmentation/admin.py (I'm not sure that my variant is correct, but it seems to work)

from django.contrib.admin.options import RenameBaseModelAdminMethods

to

try:
    from django.contrib.admin.options import RenameBaseModelAdminMethods
    base_meta_class = RenameBaseModelAdminMethods
except ImportError:
    from django import forms
    base_meta_class = forms.MediaDefiningClass

class SegmentationAdminMetaclass(base_meta_class):
    def __new__(cls, name, bases, attrs):
        bases = tuple(import_string(sgm[1]) for sgm in settings.CASCADE_SEGMENTATION_MIXINS) + bases
        new_class = super(SegmentationAdminMetaclass, cls).__new__(cls, name, bases, attrs)
        return new_class

Perhaps there is more - I test. And I waited your Breaking News about django-shop very much! Thanks for develepment of django-shop!