Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask大型应用程序-从utils文件导入函数_Python_Flask - Fatal编程技术网

Python Flask大型应用程序-从utils文件导入函数

Python Flask大型应用程序-从utils文件导入函数,python,flask,Python,Flask,我需要帮助从我的Flask应用程序中的utils文件导入功能 # Structure of my app: **(updated)** apps -[admin] --forms_admin.py --views_admin.py --models_admin.py -[user] --forms_user.py --views_user.py --models_user.py -[dashboard] -__init__.py (empty) ... ... -utils.py util

我需要帮助从我的Flask应用程序中的utils文件导入功能

# Structure of my app: 
**(updated)**

apps
-[admin]
--forms_admin.py
--views_admin.py
--models_admin.py
-[user]
--forms_user.py
--views_user.py
--models_user.py
-[dashboard]
-__init__.py (empty)
...
...
-utils.py
utils文件

# utils.py

def select_role()
    ...
    return roles_list

def required_roles(*roles):
    def decorator(f):
        @wraps(f)
        def decorated_function(*args, **kwargs):
            if not str(current_user.role_id) in roles:
                abort(403)
            return f(*args, **kwargs)
        return decorated_function
    return decorator
我需要导入函数def select_role from forms_user.py

但当我尝试时:

# forms_user.py

from apps.utils import select_role
在终端外壳中出现错误:ImportError:无法导入名称“选择\角色”

有人知道我做错了什么吗

从utils文件导入函数的最佳实践是什么


谢谢你的回答。

首先,确保你的apps目录中有一个u_init___;.py文件,即使是空的,这也会告诉python app是一个模块,你可以从中导入

在表单_user.py中,可以进行相对导入

from utils import select_role

你的应用程序有init.pyhm吗?是的,我有init.py,但只是一个空文件,就像在Flask Cookiecutter中一样。我在应用程序文件夹中有init.py,我在我的问题中更新了结构。当我尝试导入时,在终端中仍然出现错误:from..utils import select_district,select_role:/And第二信息:在表单中_user.py具有“import from apps.user.models_user import user”,角色“并且此导入工作可能正常”位于第一行,shell仅在有问题的导入时终止这是一个特定的问题,因为在文件开头的utils中,我有“从apps.admin.models\u admin import PromoProduct”导入。如果我删除此导入,所有操作都正常。谢谢你的努力。