将django模型类导入到Plotly-Dash无状态应用中。

问题描述 投票:0回答:1

我正试图使用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 : 无法从其他App导入模型。

Django +2 ImportError: 无法导入模型。

无法从不同的文件夹导入Python

将django models类导入到实用模块中

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
python django postgresql plotly hyphen
1个回答
0
投票

Dash和Django都提供了应用框架。如果你想在另一个里面使用一个,那么你必须选择嵌入哪个。

你是想在Django里面使用Dash吗?如果是,那么 django-plotly-dash 包让你可以通过Django模板来使用Dash应用。

另一方面,如果你想在Dash应用中使用Django的碎片--从你的代码片段中听起来就是这样--那么你可能会发现这很困难,如果不是不可能的话。

© www.soinside.com 2019 - 2024. All rights reserved.