2011-07-02 52 views
2

我得到下面的錯誤urls.py:Django是不包括已安裝的應用程序

Caught NoReverseMatch while rendering: Reverse for 'satchless-checkout-prepare-order' with arguments '()' and keyword arguments '{}' not found. 

但我在安裝的應用程序satchless.contrib.checkout.common。在satchless.contrib.checkout.commonurls.py包含:

from django.conf.urls.defaults import patterns, url 

from .views import confirmation, prepare_order, reactivate_order 

urlpatterns = patterns('', 
    url(r'^prepare/$', prepare_order, {'typ': 'satchless_cart'}, 
     name='satchless-checkout-prepare-order'), 
    url(r'^(?P<order_token>\w+)/confirmation/$', confirmation, 
     name='satchless-checkout-confirmation'), 
    url(r'^(?P<order_token>\w+)/reactivate/$', reactivate_order, 
     name='satchless-checkout-reactivate-order'), 
) 

爲什麼我不能夠調用從我的模板{% url satchless-checkout-prepare-order %}

回答

3

你是否從你的根urlconf中包含了它?

像這樣的事情在你的主urls.py文件:

url(r'^foo/' include('satchless.urls')), 
+0

哇,我不知道我怎麼錯過了。謝謝。 – GhotiPhud

2

您不必包括satchless.contrib.checkout.common在INSTALLED_APPS。它不是真正的應用程序,它是python包,它包含用於multistep和singlstep簽出應用程序的常見視圖/裝飾器。

如果你看看satchless /的contrib /結算/多級/ urls.py或satchless /的contrib /結算/單步/ urls.py文件,你可以看到,從普通/ urls.py包括兩種模式:


from ..common.urls import urlpatterns 

urlpatterns = urlpatterns + patterns('', 
... 

你所要做的就是選擇結算方式(讓說的多步),將其添加到INSTALLED_APPS,包括相應的網址:


settings.py: 

INSTALLED_APPS = (
... 
    'satchless.contrib.checkout.multistep', 
... 
) 


urls.py: 

urlpatterns = patterns(
... 
    url('^checkout/', 'satchless.contrib.checkout.multistep.urls') 
... 
) 
相關問題