2011-07-02 13 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.common内で含まれてurls.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

rootのurlconfから含めましたか?メインurls.pyファイル内でこのような

何か:

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

うわー、私はそれを逃したのか分かりません。ありがとうございました。 – GhotiPhud

2

あなたはINSTALLED_APPSでsatchless.contrib.checkout.commonを含める必要はありません。それは本当のアプリではありません。マルチステップとワンステップチェックアウトアプリの共通のビュー/デコレータを含むPythonパッケージです。あなたはsatchlessに/ contrib /チェックアウト/多段階/ urls.pyまたはsatchlessに/ contrib /チェックアウト/ singlestepに見れば

は/あなたが見ることができるのurls.pyという共通/ urls.pyからの両方を含むパターン:


from ..common.urls import urlpatterns 

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

あなたがしなければならない何

はINSTALLED_APPSに追加し、適切なURLを含め、(多段階を言わせて)チェックアウトの方法を選択することです:


settings.py: 

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


urls.py: 

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