python - 如何在 Django Oscar 2.0 中正确分叉应用程序
问题描述
我正在尝试对结帐应用程序中的 mixin.py 文件进行细微修改(具体来说,尝试注释掉其中的行,如此 stackoverflow 帖子OrderPlacementMixin
中所述,在成功订购后自动发送电子邮件)。但是,我似乎无法让 oscar 认出我的叉子。我已经按照此处列举的步骤进行操作,但没有运气。
这是我已经完成的步骤
custom_apps
1)在项目根目录下创建一个目录,__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
'oscar.apps.checkout'
3) 我在 myINSTALLED_APPS
中注释掉了,并在 INSTALLED_APPS` 列表的末尾settings.py
插入'custom_apps.checkout'
4)我跑python manage.py runserver
了,我得到了异常oscar.core.exceptions.AppNotFoundError: Couldn't find an Oscar app to import checkout.calculators from
。此时,我什至还没有尝试修改任何代码,但是,我的 fork 已经拒绝运行。
如果有人能指出我遗漏的任何步骤,我将不胜感激。我知道可以复制 oscar.apps.checkout 的所有内容,但是我想避免这样做。
解决方案
Oscar 2.0 应用程序配置是扩展的Django 应用程序配置。
看起来你的分叉应用程序模块没有default_app_config
指定,所以你应该添加一个,或者INSTALLED_APPS
使用它的应用程序配置类的虚线路径:custom_apps.checkout.apps.CheckoutConfig
而不是custom_apps.checkout
.
推荐阅读
- apache-commons-vfs - 'commons-vfs2',未添加到 fatJar
- mongodb - try_join 使 mongodb 事务同时发送
- python-3.10 - 如何解决vscode中不和谐的reportMissingImports
- python - 如何在 Python 中将奇怪的 unicode 字符(“故障”文本)转换为常规文本?
- excel - excel中的新列中的Marge multpile列
- python - 使用两个类实例
- node.js - 如何从 Node.js 中的文本中检测地址
- java - 在 Android 11 上使用 File.listfiles() 时文件列表不完整
- java - 如何使用 MediaStore.createDeleteRequest?
- flutter - 使用 Flutter 获取 iOS/Android 上可用的音频设备列表