gpt4 book ai didi

Django-Oscar - fork 嵌套应用程序

转载 作者:行者123 更新时间:2023-12-04 08:59:43 27 4
gpt4 key购买 nike

我在 fork 属于其他 Django 奥斯卡应用程序子集的 Django 奥斯卡应用程序时遇到问题。对于我正在关注的文档/教程,请查看 here .

我已经完成并成功 fork 了未嵌套在其他应用程序中的应用程序,并相应地更新了我安装的应用程序。这是应用程序的子集,用于演示嵌套应用程序的一般模式

'dashboard_folder.dashboard.apps.DashboardConfig',
'oscar.apps.dashboard.reports.apps.ReportsDashboardConfig',
'oscar.apps.dashboard.offers.apps.OffersDashboardConfig',

但是,文档(上面链接)没有清楚地概述如何调用嵌套应用程序。我认为它们可能会自动与它们的“ parent ” fork ,但是,一个简单的测试(下面的代码)证明并非如此:

如果我将 'oscar.apps.dashboard.reports.apps.ReportsDashboardConfig', 更改为dashboard_folder.dashboard.reports.apps.ReportsDashboardConfig',

我收到以下错误:

ModuleNotFoundError:没有名为“dashboard_folder.dashboard.reports”的模块

我想我会尝试一些关于如何调用嵌套应用程序来 fork 它们的“有根据的”猜测,但不幸的是,以下所有操作都失败了:

manage.py oscar_fork_app offers offers_folder
CommandError: There is no app with the label 'offers'

manage.py oscar_fork_app dashboard.offers offers_folder
CommandError: There is no app with the label 'dashboard.offers'

manage.py oscar_fork_app ReportsDashboard ReportsDashboard_folder
CommandError: There is no app with the label 'ReportsDashboard'

manage.py oscar_fork_app reportsdashboard ReportsDashboard_folder
CommandError: There is no app with the label 'reportsdashboard'

manage.py oscar_fork_app dashboard/reportsdashboard ReportsDashboard_folder
CommandError: There is no app with the label 'dashboard/reportsdashboard'

任何帮助将不胜感激,我还需要再尝试几次才能通过电子邮件向 Django-oscar 寻求帮助,但也许这个问题将来会对其他人有所帮助!

编辑:

这是我的仪表板应用程序配置供引用:

import oscar.apps.dashboard.apps as apps

class DashboardConfig(apps.DashboardConfig):
name = 'dashboard_folder.dashboard'

所有其他 Oscar fork 应用程序都遵循相同的一般模式。

最佳答案

你是对的,这方面的文档不是很清楚。 oscar_fork_app 的第一个参数是您要 fork 的应用的应用标签。对于顶级应用程序,这类似于offercatalogue,但对于嵌套应用程序,您需要检查apps.py。应用程序查看标签。

如果您以 oscar.apps.dashboard.reports.apps.ReportsDashboardConfig 为例,那么它的应用配置如下所示:

class ReportsDashboardConfig(OscarDashboardConfig):
label = 'reports_dashboard' # <--- this is important

标签是您需要用来 fork 应用程序的内容。所以类似:

python manage.py oscar_fork_app reports_dashboard path/to/your_forks_directory

另请注意,第二个参数必须是保存所有 fork 应用程序的目录顶层的路径。该目录的子目录必须与 Oscar 的应用程序结构相匹配,并且嵌套应用程序将被 fork 到其中适当的嵌套目录中。

如果此后您仍然收到 ModuleNotFoundError 错误,则很可能是因为 Oscar 自动生成的应用程序 name 与您的项目结构不太匹配。检查此名称以查看它是否与您项目中找到的模块匹配,如果不匹配则进行调整。

关于Django-Oscar - fork 嵌套应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63624431/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com