Django - 在应用程序中存储非Django .py文件的位置在哪里?

3
我有三个Python文件(两个用于爬取数据,另一个包含我的函数)在我的应用程序中使用。每个文件大约有150行代码,我不想将这些代码包含在views.py中,以使我的视图尽可能清晰可读。是否有最佳实践来保持整洁?在应用程序内部创建一个单独的文件夹,其中包含所有外部非Django .py文件(类似于.html的'Templates'或.css的'Static')?感谢任何建议。
谷歌搜索没有得到任何结果。
3个回答

2

我有一个叫做utils的应用程序,其中包含了所有可能被多个应用程序共享的内容。

from utils.foo import bar, baz

如果您没有任何模型/数据库表需要与任何特定应用程序断开连接,将其制作成应用程序可能过度。另一种选择是(我认为)只需在项目根目录下创建一个文件夹,并通过创建空的__init__.py将其转换为Python模块。

谢谢,这个想法很有道理,我们会在以后使用它! - s_m_lima

1

您可以创建一个单独的应用程序-这取决于您想要多么分隔。我更喜欢将非Django .py文件包含在您希望在其中使用它们的应用程序中。然后从那里在views.py中导入相关函数。

以下是如何在views.py中导入来自名为operations.py的非Django .py文件中的函数(称为function)的示例,该文件位于与视图相同的应用程序中:

from .operations import function

1
非常感谢您的建议!在尝试了几种不同的方法后,这是我首选的方法。 - s_m_lima
1
没问题!很高兴你找到了适合你的项目的方法。 - Conor Romano

1
我个人喜欢保持我的视图文件干净,即它们只包含视图而没有其他内容。
至于其他文件,这取决于个人口味,在您的情况下,我建议创建一个名为scrapers或web_scrapers的目录来存储爬取文件。 您应该根据它们的特定用途命名它们,例如football_scores_scraper.py或stackoverflow_scrapper.py。 对于包含实用函数的文件,请将其保存在与views.py相同的目录中,但根据其用途适当地命名,例如tax_utils.py,如果它包含不同的功能,请将其命名为utils.py。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接