This is the second part in our three part series about integrating Django CMS 2.0 with the Satchmo, eCommerce framework. Part 1 described the strengths of Django CMS 2.0. Part 2 introduces the Satchmo eCommerce solution and Part 3 will be an even easier solution using our custom paster script.
Satchmo is a reusable application for the django framework that provides a full set of eCommerce features such as handling products, orders, shipping, reporting, and customer registration. Satchmo is intuitive, responsive, and easily customized. With Satchmo any Django reusable application or plugin can still be used.
Satchmo can be added to existing projects or be used from the beginning because it does not need to dominate your entire web application. Generally, CMSs don't need shopping carts, but shopping carts often need CMSs.
Django CMS 2.0 can provide a online store with advanced content management features like versioning, an editorial workflow, search engine optimization, and multi-tenancy. For a complete list of Satchmo features, please visit http://www.satchmoproject.com/docs/svn/features.html.
Compared to Magento, the leading open source eCommerce solution, Satchmo has the advantage in scalability, customization, time to market, and development costs.
Integrating Django CMS 2.0 and Satchmo is a straight forward process, however, these are a few tips to make the process easier.
- As a general rule Django CMS 2.0 URLs should be included last in urls.py to avoid any complications with the Django routing system.
- Links in Django CMS 2.0 must include the full URL to the page; the single-threaded development server hangs while attempting to validate these links because a second thread is required for the server to respond to the validation request. This is not a problem in production as it always involves a multi-threaded server.
- Replicating Satchmo's example stores is a great way to get started on your templates.