2

以下のエラーが表示されます。

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 %}テンプレートから呼び出すことができないのはなぜですか?

4

2 に答える 2

3

Have you included it from your root urlconf?

Something like this in your main urls.py file:

url(r'^foo/' include('satchless.urls')),
于 2011-07-02T17:31:59.193 に答える
2

satchless.contrib.checkout.commonINSTALLED_APPSに含める必要はありません。これは実際にはアプリではなく、マルチステップおよびシングルステップ チェックアウト アプリの一般的なビュー/デコレータを含む python パッケージです。

satchless/contrib/checkout/multistep/urls.py または satchless/contrib/checkout/singlestep/urls.py を調べると、両方とも common/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')
...
)
于 2011-07-10T17:35:48.173 に答える