我正试图使用django-plotly-dash构建一个仪表盘应用。当从一个.CSV文件中拉取数据时,我能够让应用程序启动并运行,但这很慢。为了加快速度,我将数据导入到我的后台Postgresql服务器中,并在Django项目中的pages应用中创建了一个模型。当我试图从模型中导入一个特定的表到不同文件夹中的无状态DjangDash应用时,问题就来了。我一直得到的错误是 "unable to import pages.models"
文件夹结构。
DjangoProject
>dash_apps
>finished_apps
-appOne.py
>pages
-__init__.py
-admin.py
-apps.py
-models.py
-test.py
>base
-__init__.py
-asgi.py
-routing.py
-settings.py
-urls.py
-wsgi.py
-manage.py
该应用程序被命名为 appOne.py
并且该表或该类在 models.py
文件,并命名为 general_finance_metrics
到目前为止,我已经在我的appOne.py文件中尝试了以下内容,但没有成功。
from pages.models import general_finance_metrics
(error is: unable to import 'pages.models' pylint (import-error))
from DjangoProject.pages.models import general_finance_metrics
(error is: unable to import 'DjangoProject.pages.models' pylint (import-error))
from .models import general_finance_metrics
(error is: attempted relative import beyond top-level package pylint (relative-beyond-top-level))
from base.models import general_finance_metrics
(error is: unable to import 'base.models' pylint (import-error))
from base import models
(error is: unable to import 'base' pylint (import-error))
from pages import models
(error is: unable to import 'pages' pylint (import-error))
我翻阅了其他的问题,但没能找到一个有效的答案,除非我忽略了这个问题,但我相信我的情况和这些问题不同,因为DASH应用不在django应用中。
Django +2 ImportError: 无法导入模型。
appOne.py代码: appOne:
import numpy as np
import pandas as pd
import datetime
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.graph_objs as go
from django_plotly_dash import DjangoDash
from django.db import models
from pages.models import general_finance_metrics # error occurs here
metrics = general_finance_metrics.objects.all()
models.py代码: models.py代码:
class general_finance_metrics(models.Model):
columnOne = models.TextField(blank=True, null=True)
columnTwo = models.TextField(blank=True, null=True)
columnThree = models.TextField(blank=True, null=True)
def __str__(self):
return self.columnOne
admin.py代码:
from django.contrib import admin
from .models import general_finance_metrics
Dash和Django都提供了应用框架。如果你想在另一个里面使用一个,那么你必须选择嵌入哪个。
你是想在Django里面使用Dash吗?如果是,那么 django-plotly-dash
包让你可以通过Django模板来使用Dash应用。
另一方面,如果你想在Dash应用中使用Django的碎片--从你的代码片段中听起来就是这样--那么你可能会发现这很困难,如果不是不可能的话。