NoReverseMatch at /shop/checkout/

54 views
Skip to first unread message

Sam Harvey

unread,
Jul 3, 2009, 1:21:13 PM7/3/09
to Satchmo users
Google Checkout and Test Payment work, Paypal does not work, not even
when it is the sole enabled payment module.

I have examined all the info I could find through search engines, and
by searching this forum for "noreversematch checkout" (no quotes).


Relevant django+satchmo debug output in browser:
http://www.mywebsite.com/shop/checkout/

NoReverseMatch at /shop/checkout/
Reverse for 'satchmo_checkout-step2' with arguments '()' and keyword
arguments '{}' not found.


Relevant packages installed:
easy_install ssl
python-crypto

In my setup, nginx+ssl is a frontend to apache2+wsgi.
The site is accessible via http and https.

Thanks,

Sam Harvey


Files:
/home/django_user/domains/mywebsite.com/merchant/satchmo.log
http://pastebin.com/f5caf2cf3

/home/django_user/domains/mywebsite.com/merchant/settings.py
http://pastebin.com/f564dbddb

/home/django_user/domains/mywebsite.com/merchant/local_settings.py
http://pastebin.com/f577cf83

/home/django_user/domains/mywebsite.com/merchant/merchant.wsgi
http://pastebin.com/f19442428

/etc/nginx/nginx.conf
http://pastebin.com/f190795d7

/etc/nginx/proxy.conf
http://pastebin.com/fb11c8f9

/etc/nginx/sites-enabled/mywebsite.com
http://pastebin.com/f6d1f5a27

/etc/nginx/sites-enabled/mywebsite.com.https
http://pastebin.com/f182c4a87

/etc/apache2/apache2.conf
http://pastebin.com/f38f19a46

/etc/apache2/ports.conf
http://pastebin.com/f4da117f1

/etc/apache2/sites-enabled/mywebsite.com
http://pastebin.com/f62d65bf9

Chris Moffitt

unread,
Jul 3, 2009, 5:23:18 PM7/3/09
to satchm...@googlegroups.com

Just to double check, did you bounce the django server after you enabled the paypal module?

-Chris

Sam Harvey

unread,
Jul 3, 2009, 5:33:16 PM7/3/09
to Satchmo users
On Jul 3, 2:23 pm, Chris Moffitt <ch...@moffitts.net> wrote:
> Just to double check, did you bounce the django server after you enabled the
> paypal module?
>
> -Chris
Chris,

If by 'bounce', you mean restart: yes. I restarted both nginx and
apache2.

Thanks,
Sam

Samuel Harvey

unread,
Jul 5, 2009, 5:38:23 AM7/5/09
to Satchmo users

I've been digging some more, and am still just as stuck...

I did find this in satchmo.log:
satchmo_utils: ERROR Could not find any url for satchmo_checkout-step2

I puttered around in payment/urls.py and payment/modules/paypal/urls.py

It seems like the satchmo_checkout-step2 urlpatterns are generated
from payment/modules/{modulename}/urls.py. Perhaps something in my
configuration is causing this generation to occur out of order?

I tried changing where the satchmo urlpatterns are imported
mysite/urls.py, which didn't help. I also started fiddling with a new
Satchmo store from scratch, which had this same problem for a while,
then it fixed itself inexplicably... so now I'm trying to figure out
what the heck I did right!

Thanks,
Sam

Chris Moffitt

unread,
Jul 5, 2009, 10:43:33 AM7/5/09
to satchm...@googlegroups.com
You could try the trick here to try to get some more info on why that error is happening -
http://bitbucket.org/chris1610/satchmo/wiki/InstallationHints

-Chris

Samuel Harvey

unread,
Jul 7, 2009, 4:01:14 AM7/7/09
to satchm...@googlegroups.com
On Sun, Jul 5, 2009 at 7:43 AM, Chris Moffitt<ch...@moffitts.net> wrote:
> You could try the trick here to try to get some more info on why that error
> is happening -
> http://bitbucket.org/chris1610/satchmo/wiki/InstallationHints
>
> -Chris
>

The following script tests to see if Satchmo is even able to do all
that urlpattern creation mumbo-jumbo on a particular install. I'm
running it from a ./manage.py shell, and I execute it by typing:
>>> from test_paymentmodules_urls import *

========
## test_paymentmodules_urls.py
from livesettings import config_get, config_get_group, config_value
from satchmo_utils.dynamic import lookup_url, lookup_template
from django.core import urlresolvers

payment_modules = config_get('PAYMENT', 'MODULES')
for paymentmethod in payment_modules:
payment_module = config_get_group(paymentmethod)
for s in ['step1', 'step2', 'step3', 'success', 'ipn']:
named_url = 'satchmo_checkout-%s' % s
try:
print lookup_url(payment_module, named_url)
except:
print "***FAIL: lookup_url(%s, %s)" % (payment_module.key,
named_url)
try:
urlresolvers.resolve(named_url, None, {'paymentmethod':
paymentmethod})
except:
print "***FAIL: urlresolvers.resolve(%s, None,
{'paymentmethod': %s})" % (named_url, paymentmethod)
========

The output from my barebones install with a working /shop/checkout/:

========
/shop/checkout/
***FAIL: urlresolvers.resolve(PAYMENT_PAYPAL, satchmo_checkout-step1)
/shop/checkout/paypal/
***FAIL: urlresolvers.resolve(PAYMENT_PAYPAL, satchmo_checkout-step2)
/shop/checkout/paypal/confirm/
***FAIL: urlresolvers.resolve(PAYMENT_PAYPAL, satchmo_checkout-step3)
/shop/checkout/paypal/success/
***FAIL: urlresolvers.resolve(PAYMENT_PAYPAL, satchmo_checkout-success)
/shop/checkout/paypal/ipn/
***FAIL: urlresolvers.resolve(PAYMENT_PAYPAL, satchmo_checkout-ipn)
========

The output from the broken install:

========
/shop/checkout/
***FAIL: urlresolvers.resolve(satchmo_checkout-step1, None,
{'paymentmethod': PAYMENT_PAYPAL})
***FAIL: lookup_url(PAYMENT_PAYPAL, satchmo_checkout-step2)
***FAIL: urlresolvers.resolve(satchmo_checkout-step2, None,
{'paymentmethod': PAYMENT_PAYPAL})
***FAIL: lookup_url(PAYMENT_PAYPAL, satchmo_checkout-step3)
***FAIL: urlresolvers.resolve(satchmo_checkout-step3, None,
{'paymentmethod': PAYMENT_PAYPAL})
***FAIL: lookup_url(PAYMENT_PAYPAL, satchmo_checkout-success)
***FAIL: urlresolvers.resolve(satchmo_checkout-success, None,
{'paymentmethod': PAYMENT_PAYPAL})
***FAIL: lookup_url(PAYMENT_PAYPAL, satchmo_checkout-ipn)
***FAIL: urlresolvers.resolve(satchmo_checkout-ipn, None,
{'paymentmethod': PAYMENT_PAYPAL})
========

I'm not really sure what to make of this, and just running a
lookup_url or urlresolvers.resolve either works or gives me a
uselessly ambiguous traceback.

Thanks,
Sam

Samuel Harvey

unread,
Jul 7, 2009, 8:18:36 AM7/7/09
to satchm...@googlegroups.com

I turned off memcache, and everything seems fine now, for some strange
reason. I'll explore this, and let you all know where the trail leads.

Sam

Samuel Harvey

unread,
Jul 7, 2009, 8:30:46 AM7/7/09
to satchm...@googlegroups.com

M'k... switched from cmemcache to python-memcached, and everything is a-okay.

Sam

Reply all
Reply to author
Forward
0 new messages