来自开放百科 - 灰狐
跳转到: 导航, 搜索

Satchmo's mission is to use Django to create an open source framework for creating unique and robust online stores. To provide maximum flexibility, Satchmo is licensed under the BSD license.

OpenShop based on Satchmo



Satchmo strives to be extremely flexible.

  • All display items are driven by templates using the powerful Django templating language
  • All urls can be custom configured to your desired naming convention
  • The checkout process can be tailored to your specific needs

Satchmo support many payment modules including:

  • Trustcommerce
  • Google checkout
  • Cybersource
  • Paypal
  • Protx
  • Purchase orders

Satchmo has flexible shipping options and allows you to create your own. Satchmo includes:

  • UPS integration
  • Fedex integration
  • USPS integration
  • Flat rate shipping
  • Multi-tiered shipping

Satchmo’s has robust support for multiple product types including:

  • Downloadable products
  • Subscription products
  • Custom configured products
  • Product variants
  • Gift certificates

All products offer you the opportunity to have:

  • As many images per product as you would like
  • Automatice thumbnail creation for the images
  • Unlimited categories and sub categories
  • Support for multiple pricing and discounting tiers based on volume
  • Support for tiered/group pricing
  • Inventory tracking including SKU’s and preventing users from ordering out of stock items
  • Meta data support for SEO
  • Featured items
  • Tax tables
  • Related products
  • Most popular products
  • Arbitrary attributes
  • Multiple translations per product
  • Flexible variant creation (shirts with sizes and colors) including price changes for combinations
  • Allow user to comment and rate products
  • Comments support akismet spam tagging

The customer model allows you to:

  • Have multiple ship to and bill to addresses
  • View order history
  • Update account profile online
  • Reset user passwords
  • Require email verification for account creation
  • Satchmo supports discount codes which allow you to:
  • Set amount of percentage discounts
  • Limit the number of uses
  • Allow free shipping
  • Set start and end dates
  • Limit to certain products

Satchmo includes extensive Internationalization and translation support:

Multiple translations are included:

  • French
  • German
  • Italian
  • Spanish
  • Swedish
  • Bulgarian
  • Portuguese
  • Korean
  • Hebrew
  • Turkish

Full country specific information

Translation support for all products and categories

Support for date and currency formating based on locale

Satchmo takes security seriously:

Django provides built in support to prevent many common attacks such as:

  • SQL injection
  • Automatic HTML escaping to prevent cross-site scripting
  • Session forging/hijacking

Satchmo encrypts all credit card information

Satchmo does not store ccv data in the database

Fine grained ssl support for as many or as few urls as you need

Django is a proven scalable and robust system. Satchmo takes advantage of this by using:

  • Django caching
  • Opportunity to easily split out the tiers of the application (database, web, etc)
  • A large suite of unit tests

In addition to these items, Satchmo provides:

  • Generation of PDF invoices, packing slips and shipping labels
  • Full store product searching
  • Google analytic integration
  • Google adwords support
  • Google base feeds
  • Newsletter support via mailman or custom database
  • Recently viewed items
  • Wishlists


Installing Django with Satchmo on Debian Etch

Installing Dependencies

su -c 'python'
easy_install pycrypto
or apt-get install python-crypto
or apt-get install python-reportlab
easy_install django-registration
or svn checkout django-registration-read-only
python install
or apt-get install python-trml2pdf
easy_install PyYAML
or apt-get install python-yaml

Install Python Imaging Library.

easy_install --find-links= PILwoTk
or apt-get install python-imaging

Optional dependencies

easy_install elementtree
or apt-get install python-celementtree
easy_install docutils
or apt-get install python-docutils

Install Satchmo

svn co svn:// satchmo-trunk
cd satchmo-trunk
sudo python install
>>> import django
>>> import satchmo_store
>>> satchmo_store.get_version()
u'0.9-pre-SVN-unknown' startproject mystore
cp satchmo-trunk/satchmo/projects/base/ mystore/
SITE_NAME = "My Shop"
CACHE_BACKEND = "memcached://" or "file:///var/tmp/django_cache"
LOGDIR =  os.path.abspath(os.path.dirname(__file__))
LOGFILE = "satchmo.log"

Customizing the settings

vi mystore/

cp satchmo/ /mystore/

required files

python satchmo_copy_urls


python syncdb
python satchmo_load_l10n
python satchmo_load_store
python satchmo_load_us_tax


cd /satchmo-trunk/satchmo/projects/large
python satchmo_check
Error: No module named sorl
svn checkout sorl-thumbnail-read-only
Error: No module named typogrify
svn checkout typogrify-read-only
Error: No module named app_plugins
svn checkout django-app-plugins-read-only

Checking your satchmo configuration.
Using Django version 1.0.2 final
Using Satchmo version 0.9-pre-SVN-unknown
Your configuration has no errors.


python runserver 

more detail: