python - 导入的函数无法识别 Python Flask 会话变量
问题描述
我的 Flask application.py 变得有点大,我想将内容(类/函数)分布在几个额外的 py 文件中。我将类定义放在 appClasses.py 中,并由 application.py 使用
from appClasses import *
而且,我将一些函数定义放入 appFunction.py 并将它们导入到 application.py 使用
from appFunction import *
appFunction.py 中的函数使用了烧瓶会话变量。当 application.py 中存在相同的函数时,会话变量引用没有问题(并且应用程序的行为符合预期)但是一旦我剪切/粘贴到 appFunction.py 并导入函数,当第一个函数使用时,我得到一个名称错误异常会话变量被称为:
NameError:名称“会话”未定义
这是一个示例函数:
def load_hgw_dict():
print("LOAD HGW DICT: called")
if 'hgw_dict_loaded' in session:
print("LOAD HGW DICT: hgw dict is available")
hgw_dict=session['hgw_dict']
else:
print("LOAD HGW DICT: hgw dict not available...adding")
session['hgw_dict_loaded']=True
list_of_hgws="/home/stbweb/LIST_OF_HENBGW"
hgw_file = open(list_of_hgws, "r")
hgw_dict=dict()
for line in hgw_file:
hgw_common, hgw_ip, hgw_hostname = line.split()
hgw_dict[hgw_common]= { 'ip':hgw_ip, 'hostname':hgw_hostname }
hgw_file.close()
print("LOAD HGW DICT: hgw dict =", hgw_dict)
return hgw_dict
运行烧瓶 application.py 时,烧瓶自己创建会话。这是项目目录结构...为了紧凑而删除了一些文件
.
|-- appClasses.py
|-- appHeNBGW.py
|-- application.ini
|-- application.py
|-- application.pyc
|-- cert.pem
|-- flask_session
| -- 2029240f6d1128be89ddc32729463129
|-- __init.py__
|-- key.pem
|-- __pycache__
|<snip>
|-- README.md
|-- set_dev_env
|-- static |<snip>
|-- templates
| <snip>
-- wsgi.py
解决方案
推荐阅读
- python - Issues with PySpark on Jupyter notebook with .show() DataFrame once it is passed through a function
- r - 使用不断变化的列表重命名 R 数据框中的列的函数
- python - InvalidArgumentError: input_1_1:0 is both fed and fetched
- sql-server - 使用 sp_send_dbmail 发送的邮件将嵌入的图像显示为附件
- vba - 公式中的Excel VBA变量
- r - Eigenvalues of a matrix, assuming symmetry
- php - 获取解析错误,PHP代码中的语法错误
- python - 获取列的“循环滞后”
- batch-file - 如何使文本行的第一部分唯一并批量连接第二部分?
- javascript - 我如何操作一个 javaScript 对象