Shashishekhar Hasabnis Shashishekhar Hasabnis - 27 days ago 11
Python Question

Reverse for 'shop_cart' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

I am trying out Django Mezzanine. I have installed it with pip. After successful installation I added the Cartridge package via pip install -U cartridge. I have also included it in my Installed_Apps. I am able to see the package and able to tweak with it in admin panel. But when I try to go onto home page it is giving me the following error:-

Reverse for 'shop_cart' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []


Inside the debugger I am shown the following error at line 4 highlighed:-

1 {% extends "base.html" %}
2 {% load i18n %}

3

4 {% block meta_title %}{% trans "Home" %}{% endblock %}

5 {% block title %}{% trans "Home" %}{% endblock %}
6

7 {% block breadcrumb_menu %}
8 <li class="active">{% trans "Home" %}</li>
9 {% endblock %}
10
11 {% block main %}
12 {% blocktrans %}
13 <h2>Congratulations!</h2>
14 <p>


Also to mention that I have not edited any urls or any files.

Answer

You need to read the manual which tells you that after you install cartidge with pip, you have to create a new project with the correct template in order to include all the specific settings for cartridge, which include the URLs:

Once installed, the command mezzanine-project can be used to create a new Mezzanine project, with Cartridge installed, in similar fashion to django-admin.py:

$ mezzanine-project -a cartridge project_name
$ cd project_name
$ python manage.py createdb --noinput
$ python manage.py runserver

For now, you can try adding these two lines to your urls.py, and it should get rid of the immediate problem, but you should really follow the instructions and create a project with the right template:

url("^shop/", include("cartridge.shop.urls")),
url("^account/orders/$", order_history, name="shop_order_history"),