2016-08-11 10 views
1

django-oscarを使用している電子ショッププロジェクトで、CODサポートを追加しようとしています。私はdjango-oscar-cash-on-deliveryを使用しています。django-oscarのユーザー代引き

私はstepsは、あなたが私の設定を確認できなかった。

THIRD_PARTY_APPS = [ 
    'jet.dashboard', 
    'jet', 

    'axes', 
    'cashondelivery', 
    'django_extensions', 
    'oscarapi', 
    'paypal', 
    'payu', 
    'rest_framework', 
    'robots', 
    'widget_tweaks', 
    'webpack_loader', 
] 

をそしてappsと呼ばれるアプリを作成し、適切にロードされた:私はこのコードでapps.pyファイルを作成し

INSTALLED_APPS = THIRD_PARTY_APPS + PROJECT_APPS + [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.flatpages', 
] + get_core_apps(
    [ 
     'apps.shipping' 
    ] 
) 

appsフォルダで内部:

from oscar.app import Shop 

# from apps.checkout.app import application as checkout_app 
from cashondelivery.app import application as checkout_app 


class ApplicationShop(Shop): 
    checkout_app = checkout_app 


application = ApplicationShop() 

しかし、オスカーが私にチェックアウトテンプレートを代金引換方式で表示しない理由を理解できません。

これは私の構造のフォルダです: enter image description here

誰もこれで私を助けることができますか?

答えて

2

django-oscarプロジェクト内の着払いを統合するための2つの方法があります。

  1. オーバーライドチェックアウトのアプリケーションは:デフォルトOscarでないか、取得することはできませんので、この場合は
    は、必要に応じてオーバーライドチェックアウトテンプレートですcashondeliveryチェックアウトテンプレート、少なくともpayment_details。だから、まずこれらのテンプレートファイルをオーバーライドする必要があります。アプリケーションを作成した後、app.pyファイルを追加して、チェックアウトアプリケーションをオーバーライドします。cashondeliverydocumentationと書いてあります。

    enter image description here

  2. カスタムビューおよびチェックアウトアプリの作成:あなたはdjango-oscar-paypal統合パッケージでOscarpaypalを統合するためのサンドボックスの例を見ることができる
    を。 このパッケージでは、デフオルトチェックアウトアプリの代わりにチェックアウトアプリを使用していることがわかります。このアプリの中では、view.pyファイルとapp.viewファイルが上書きされます。テンプレートをオーバーライドし、ファイルapp.pyを上書きします。

そこで、我々はそう、django-oscar-cash-on-deliveryために同じことを行うことができます:
。あなたが好きな、またはあなたのような場合は、checkoutという新しいアプリケーションをappsアプリケーション内に作成します。このアプリケーションには、ビューとアプリケーションファイルのみが含まれます。 enter image description here

b。ビューファイルでは、cash-on-deliveryviewsファイルを置くようになりました。今はsanboxフォルダにあります。

c。チェックアウト内のアプリファイルでは、チェックアウトアプリケーションを宣言します。

from oscar.apps.checkout import app 
from .views import PaymentDetailsView 

class CheckoutApplication(app.CheckoutApplication): 
    payment_details_view = PaymentDetailsView 

application = CheckoutApplication() 

d。最後に、チェックアウトアプリをデフォルトチェックアウトアプリとして宣言します(documentation)。
e。私たちは、アプリケーションのオーバーライドデフォルトの設定では、アプリケーションをチェックアウトしていることを確認しています

INSTALLED_APPS = + get_core_apps(
    [ 
     'apps.checkout', 
     'apps.shipping' 
    ] 
) 

あなたは今、あなたのオスカープロジェクトでの配送方法に現金で支払うことができます。
2つ目の方法は、複数の支払い方法を使用できるようにすることをお勧めします。

PD:
たちは、サンドボックスフォルダでviews.pyファイルを移動したので、最初のオプションはもう機能しません新しいマスターバージョンをWICH。しかし、もしあなたが戻って来たいなら、私たちに言ってください!

関連する問題