TemplateDoesNotExist at /dashboard/catalogue/product-type/1/update/

56 views
Skip to first unread message

xedi...@gmail.com

unread,
Mar 1, 2018, 7:20:34 AM3/1/18
to django-oscar
I have forked django oscar for customization and adding much more features as per the project needs however, i am getting an error of  TemplateDoesNotExist at /dashboard/catalogue/product-type/1/update/ and it shows the following in the exception 

The template structure is 

templates
  basket
  catalogue
  dashboard


Exception Type:TemplateDoesNotExist
Exception Value:
dashboard/widgets/related_widget_wrapper.html








import copy
import re

from django.forms import Widget
from django.urls import reverse


class RelatedFieldWidgetWrapper(Widget):
    """
    This class is a wrapper to a given widget to add the add icon for the
    pfurniture dashboard.
    """
    template_name = 'dashboard/widgets/related_widget_wrapper.html'

    IS_POPUP_VALUE = '1'
    IS_POPUP_VAR = '_popup'
    TO_FIELD_VAR = '_to_field'

    def __init__(self, widget, rel):
        self.needs_multipart_form = widget.needs_multipart_form
        self.attrs = widget.attrs
        self.choices = widget.choices
        self.widget = widget
        self.rel = rel

    def __deepcopy__(self, memo):
        obj = copy.copy(self)
        obj.widget = copy.deepcopy(self.widget, memo)
        obj.attrs = self.widget.attrs
        memo[id(self)] = obj
        return obj

    @property
    def is_hidden(self):
        return self.widget.is_hidden

    @property
    def media(self):
        return self.widget.media

    def get_related_url(self, info, action, *args):
        app_label = info[0]
        model_object_name = info[1]
        print('info', info, action)
        # Convert the model's object name into lowercase, with dashes between
        # the camel-cased words
        model_object_name = '-'.join(re.sub('([a-z])([A-Z])', r'\1 \2', model_object_name).lower().split())
        # Does not specify current app
        return reverse("dashboard:%s-%s-%s" % (app_label, model_object_name, action), args=args)

    def get_context(self, name, value, attrs):
        rel_opts = self.rel.model._meta
        info = (rel_opts.app_label, rel_opts.object_name)
        self.widget.choices = self.choices
        url_params = '&'.join("%s=%s" % param for param in [
            (RelatedFieldWidgetWrapper.TO_FIELD_VAR, self.rel.get_related_field().name),
            (RelatedFieldWidgetWrapper.IS_POPUP_VAR, RelatedFieldWidgetWrapper.IS_POPUP_VALUE),
        ])
        context = {
            'rendered_widget': self.widget.render(name, value, attrs),
            'name': name,
            'url_params': url_params,
            'model': rel_opts.verbose_name,
        }
        change_related_template_url = self.get_related_url(info, 'update', '__fk__')
        context.update(
            change_related_template_url=change_related_template_url,
        )
        add_related_url = self.get_related_url(info, 'create')
        context.update(
            add_related_url=add_related_url,
        )
        delete_related_template_url = self.get_related_url(info, 'delete', '__fk__')
        context.update(
            delete_related_template_url=delete_related_template_url,
        )
        return context

    def value_from_datadict(self, data, files, name):
        return self.widget.value_from_datadict(data, files, name)

    def value_omitted_from_data(self, data, files, name):
        return self.widget.value_omitted_from_data(data, files, name)

    def id_for_label(self, id_):
        return self.widget.id_for_label(id_)


why am i getting such error? The path i have provided in template_name is correct but still says does not exist. Can anyone help me at this, please? 
Reply all
Reply to author
Forward
0 new messages