Как импортировать функцию Python из другого файла в представления Django - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь вызвать функцию из файла python, который находится за пределами каталога проекта django из views.py.Я попытался импортировать файл 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".Я хочу импортировать файл test.py из «auto_flash» в disception_reports.views и вызывать функцию из представлений.Подобный импорт "из теста импорта auto_flash" выдает ошибку "нет модуля с именем auto_flash".

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Я перепробовал все вышеупомянутые решения, но более чистым решением было добавить путь к auto_flash к syspath, и проблема была решена.Спасибо всем вам за усилия.

0 голосов
/ 26 декабря 2018
  • Переместить auto_flash в fireflash
  • В detection_reports добавить from auto_flash import test.py
...