如何将python函数从另一个文件导入django视图

时间:2018-12-24 19:00:40

标签: python django django-views

我试图从views.py的django项目目录之外的python文件中调用函数。我尝试导入python文件,但是运行django服务器时显示“没有名为xxxx的模块”。

树结构如下。


├── auto_flash
│   ├── __init__.py
│   └── test.py
└── fireflash
    ├── detection_reports
    │   ├── admin.py
    │   ├── admin.pyc
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── migrations
    │   │   ├── __init__.py
    │   │   └── __init__.pyc
    │   ├── models.py
    │   ├── models.pyc
    │   ├── __pycache__
    │   │   └── __init__.cpython-35.pyc
    │   ├── templates
    │   │   └── detection_reports
    │   │       └── home.html
    │   ├── tests.py
    │   ├── views.py
    │   └── views.pyc
    ├── fireflash
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── __pycache__
    │   │   ├── __init__.cpython-35.pyc
    │   │   └── settings.cpython-35.pyc
    │   ├── settings.py
    │   ├── settings.pyc
    │   ├── ui_cgi.py
    │   ├── urls.py
    │   ├── urls.pyc
    │   ├── wsgi.py
    │   └── wsgi.pyc
    ├── __init__.py
    └── manage.py  

此处的项目名称为“ fireflash”,并且该项目中有一个名为“ detection_reports”的应用程序。还有一个名为“ auto_flash”的目录,与“ fireflash”的位置相同。我想做的是从detection_reports.views中的“ auto_flash”导入test.py文件,并从视图中调用一个函数。像这样“从auto_flash导入测试中”导入会引发错误“没有名为auto_flash的模块”。

2 个答案:

答案 0 :(得分:0)

  • 将auto_flash移至fireflash
  • 在detection_reports中添加
  • 从auto_flash导入test.py

答案 1 :(得分:0)

我已经尝试了所有上述解决方案,但是更干净的解决方案是将auto_flash的路径附加到syspath,问题已解决。感谢大家的努力。