Как импортировать засоленный python объект в Django view.py файл - PullRequest
0 голосов
/ 22 апреля 2020

Этот файл прекрасно работает сам по себе:

import pickle

with open('model.obj', 'rb') as f:
    model = pickle.load(f)

print(model)

Но я действительно хочу использовать модель, которая является очень большим хранимым python словарем, в моих Django представлениях .py файл, например, так:

from django.shortcuts import render
from modeler.load_model import model

def page(request):
    return render(request, 'page.html', {'model':model})

Однако, когда я пытаюсь это сделать, я получаю ошибку ниже:

 File "C:\Users\mmm\PycharmProjects\MyProject\modeler\load_model.py", line 3, in <module>
    with open('model.obj', 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'model.obj'

Я не понимаю, почему, потому что, если я запускаю Первый файл напрямую работает нормально - единственным дополнительным шагом здесь является его импорт в views.py (сначала я попытался включить весь код load_model.py в views.py, но получил эту ошибку, а затем попытался в этом отдельном файле и он работал сам по себе, поэтому очевидно, что проблема в том, что я не знаю, как правильно загрузить / импортировать мои python объекты модели или файлы в Django.

1 Ответ

0 голосов
/ 22 апреля 2020

Я нашел ответ! По-видимому, все, что мне нужно было сделать, это указать абсолютный путь к «model.obj» в моем открытом операторе, а не просто относительный путь, например:

with open('C:\\Users\\mmm\\PycharmProjects\\MyProject\\modeler\\model.obj', 'rb') as f:
    model = pickle.load(f)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...