我正在尝试对结帐应用程序中的mixin.py文件进行较小的修改(具体来说,是尝试注释掉OrderPlacementMixin
中的行,该行在成功订购后会自动发送电子邮件,如{{ 3}})。但是,我似乎无法让奥斯卡认识到我的叉子。我已经按照this stackoverflow post的步骤操作,没有运气。
这是我已经完成的步骤
1)在项目根目录中创建一个custom_apps
目录,并在其中创建一个空的__init__.py
文件
2)运行manage.py oscar_fork_app checkout custom_apps
-此命令生成checkout
目录以及多个文件。这是终端输出。我还附了一张目录结构的照片
(venv) work@pc:~/MyProjects/oscar2_project/frobshop$ ./manage.py oscar_fork_app checkout custom_apps
Creating package custom_apps/checkout
Creating app config
Creating models.py
Replace the entry 'oscar.apps.checkout.apps.CheckoutConfig' with 'custom_apps.checkout.apps.CheckoutConfig' in INSTALLED_APPS
3)我在'oscar.apps.checkout'
的{{1}}中注释了INSTALLED_APPS
,并在INSTALLED_APPS`列表的末尾插入了settings.py
4)我运行'custom_apps.checkout'
,但遇到异常python manage.py runserver
。此时,我什至没有尝试修改任何代码,但是,我的fork已经拒绝运行。
如果有人能指出我所缺少的任何步骤,我将不胜感激。我知道可以复制oscar.apps.checkout的所有内容,但是我想避免这样做。
答案 0 :(得分:2)
Oscar 2.0应用程序配置已扩展Django apps configs。
您的分叉应用程序模块似乎未指定default_app_config
,因此您应该add one或在INSTALLED_APPS
中使用点分路径指向其应用程序配置类:{{ 1}},而不是custom_apps.checkout.apps.CheckoutConfig
。