有没有像Django宝石这样的东西 - 插件,就像Ruby宝石一样,
像auth管理插件等
答案 0 :(得分:5)
为了向其他答案添加更多细节,相当于Ruby的宝石就是Python“鸡蛋”。我不知道Ruby所以我不确定等价是多么精确,但egg基本上是Python包的安装文件 - 它们提供有关安装哪些软件包的Python信息。通常通过从包目录中运行./setup.py install
或使用setuptools(即pip install NAME-OF-PACKAGE
来创建egg(后一种方法通常更容易,因为它将为您下载文件并安装所有必需的依赖项) 。应该注意的是,任何包(其中包含__init__.py
文件的任何文件夹)或放在PYTHONPATH上的模块都可以由Python导入;安装它们只是为了跟踪正在使用哪些软件包,并且可以更容易地处理具有大量依赖性的复杂软件包。
在Django中,正如@EinLama所提到的,这些附加软件包充当了应用程序(它们通常包括models.py,views.py,urls.py等文件)。其中一些实际上是由Python安装的,如上所述,有些只是应该放在PYTHONPATH上的文件夹(在这两种情况下你还必须将它们添加到settings.py文件中的已安装应用程序中,以便Django知道它们) 。此外,我经常遇到(开源)软件包几乎可以完成我想要的,但不完全是,或者设计的方式是必须更改以将应用程序集成到我的项目中的细节是硬编码的。在这些情况下,我经常将应用程序直接放在我的项目文件夹中,在那里我可以根据需要进行更改并访问它,就好像它是我的任何其他应用程序一样。在这种情况下,软件包当然仅限于特定的Django项目 - 它永远不会被Python安装,也不会创建一个egg。
希望能澄清一点。
答案 1 :(得分:4)
有Python蛋,很像Ruby Gems。我相信他们中的一些人会为Django添加功能。还有像Django Extensions
这样的东西答案 2 :(得分:4)
在Django世界中称为应用。
您可以在此处找到其中一些内容:https://www.djangopackages.com/