python - 我可以像处理模型或视图一样使用 Django 从文件夹中的文件导入函数吗?
问题描述
在Django 3.0models.py
中,不要像往常一样将所有模型放在一个文件中:
my_project/
├── my_project/
└── my_app/
├── models.py
...
您可以创建一个models/
文件夹并将每个模型放在一个单独的文件中,并在将其添加到__init__.py
文件后正常调用。
my_project/
├── my_project/
└── my_app/
├── models/
│ ├── __init__.py
│ ├── my_models_file.py
│ └── my_other_models_file.py
...
models/__init__.py
应该看起来像这样:
from .my_models_file import *
from .my_other_models_file import *
我models.MyExampleModel
的 in mymy_models.py
可以在我的其他文件中正常调用,如下所示:
from .models import MyExampleModel
# My code
这也是可能的views
。
这是我的问题:
是否可以对非 Django 相关文件进行相同的处理?
我有几个views.py
不是意见的功能。他们不渲染任何东西。这些是用于使其中一些可重用的简单 python 函数。
# My imports
# My view rendering something
def my_function(arg):
# Do something
def my_other_function(arg):
# Do something
我想将它们放在一个文件夹中,并将每个函数放在一个单独的文件中。有这样的东西:
my_project/
├── my_project/
└── my_app/
├── my_functions/
│ ├── __init__.py
│ ├── my_functions_file.py
│ └── my_other_functions_file.py
...
我试图用类似的东西导入它但没有成功。
from my_functions.my_functions_file import my_function
def new_function():
my_function(arg)
有类似的方法吗?它的目的是保持文件尽可能干净和可读。我不喜欢在我的文件中有很多与非视图相关的功能,我views.py
想将它们放在自己的文件夹中。
感谢您的帮助。如果我不清楚,请询问更多信息。
解决方案
用这个
from my_app.my_functions.my_functions_file import my_function
推荐阅读
- outlook - 带有加密邮件的 Outlook 加载项错误
- python-3.x - 我在 django 中重置密码时遇到问题。我的错误是“availabe Apps”关键错误
- c++ - 定义成员函数和非成员函数时的“using”关键字
- java - 为什么在较新版本的 Android Studio 中会有额外的注解 (@org.jetbrains.annotations.Nullable)?
- python - 尝试通过 python 脚本将文件上传到共享点时出现由于用户名或密码无效而导致验证凭据的错误
- android - 有什么方法可以直接在 Android Q & 以上获取文件路径?
- python - 为什么我不能通过 selenium 选择菜单?
- php - How can I skip the first post in WordPress loop?
- java - PathFinding 中的 Java 节点
- rest - 如何设计一个动作但有两种不同含义的 REST API?