首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何创建一个Saleor插件,它是Django应用程序?

我如何创建一个Saleor插件,它是Django应用程序?
EN

Stack Overflow用户
提问于 2021-05-18 13:13:00
回答 1查看 1.2K关注 0票数 0

我正在尝试添加一个Saleor插件,它也是Django应用程序。原因是我希望能够使用Django迁移。我以前创建过定期的Saleor插件,它工作得很好。我还不太熟悉Django应用程序,但是这些文档对我来说是有意义的。我完全困惑的是这两个概念的结合。

  • 它进入哪个目录?它是否像其他普通的Saleor插件一样进入saleor/plugins目录?或者直接进入saleor目录,就像所有其他Django应用程序一样?我能找到的唯一有关联的答案建议使用manage.py startapp,它在saleor目录旁边创建根目录中的插件,这使我更加困惑。
  • 如何将Django应用程序安装为Saleor插件?正式文件指示使用setup.py,并建议: 如果您的插件是Django应用程序,包名(等号之前的部分)将被添加到Django的INSTALLED_APPS中,这样您就可以利用Django的特性,比如ORM集成和数据库迁移。

然而,没有一个内置的Saleor插件或Django应用程序使用这种setup.py机制,而且我也找不到任何与Saleor相关的例子,而且没有这样的例子我也想不出任何连贯的例子(也是由于前面的原因)。文档似乎表明,当使用setup.py时,Django应用程序将自动添加到Django的INSTALLED_APPS中。还是我必须自己加进去?

有没有人知道如何将Saleor插件创建为Django应用程序,最好是工作迁移?

EN

回答 1

Stack Overflow用户

发布于 2021-05-19 02:01:43

我不确定这是否是最好的方法,但这对我来说是可行的,就目前而言:

这个应用程序/插件可以在任何地方使用,但我认为把它放到saleor/plugins中是有意义的。

  1. 为插件创建一个文件夹,例如saleor/plugins/product_import
  2. 运行python3 manage.py startapp product_import saleor/plugins/product_import。这将在文件夹中创建标准Django应用程序模板。
  3. 我尝试了setup.py部件的官方文件,但它似乎没有为我做任何事情,所以我最终忽略了它,手动添加到saleor/settings.py中: INSTALLED_APPS =。"saleor.plugins.product_import“ 这支持所有常见的Django应用程序特性,例如迁移(在models.py中定义了一些模型之后运行models.py)、命令等等。
  4. 若要将Django应用程序转换为Saleor插件(为了能够使用所有Saleor插件钩子),请创建一个类似于此的plugin.py: 从django.http Import JsonResponse WSGIRequest ..base_plugin import BasePlugin class ProductImportPlugin(BasePlugin):“”将产品导入Saleor“PLUGIN_NAME =”ProductImportPlugin“PLUGIN_ID = "product_import”DEFAULT_ACTIVE = True PLUGIN_DESCRIPTION =( "Imports products def“)def __init__(self,*args,**kwargs):super().__init__(*args,**kwargs) def web钩子(self,request: WSGIRequest,path: str,previous_value) -> JsonResponse: Re返回JsonResponse({"status":"works"}) 并将其添加到saleor/settings.py中的Saleor插件列表中: 插件=.,"saleor.plugins.product_import.plugin.ProductImportPlugin",
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67586964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档