【问题标题】:Python, Django , Jet dashboardPython、Django、Jet 仪表板
【发布时间】:2018-07-11 09:35:42
【问题描述】:

我只是在使用 django 框架进入 python。现在我希望我的管理仪表板具有更好的 ui 和喷气仪表板。我所做的一切都与 jet documentation link 的文档中的完全相同。在我的设置中.py

JET_INDEX_DASHBOARD = 'dashboard.CustomIndexDashboard'
JET_APP_INDEX_DASHBOARD = 'dashboard.CustomAppIndexDashboard'

在我的dashboard.py中

class CustomIndexDashboard(Dashboard):
columns = 3

def init_with_context(self, context):
    self.available_children.append(modules.LinkList)
    self.available_children.append(modules.Feed)

    self.available_children.append(google_analytics.GoogleAnalyticsVisitorsTotals)
    self.available_children.append(google_analytics.GoogleAnalyticsVisitorsChart)
    self.available_children.append(google_analytics.GoogleAnalyticsPeriodVisitors)

    site_name = get_admin_site_name(context)
    # append a link list module for "quick links"
    self.children.append(modules.LinkList(
        _('Quick links'),
        layout='inline',
        draggable=False,
        deletable=False,
        collapsible=False,
        children=[
            [_('Return to site'), '/'],
            [_('Change password'),
             reverse('%s:password_change' % site_name)],
            [_('Log out'), reverse('%s:logout' % site_name)],
        ],
        column=0,
        order=0
    ))

    # append an app list module for "Applications"
    self.children.append(modules.AppList(
        _('Applications'),
        exclude=('auth.*',),
        column=1,
        order=0
    ))

    # append an app list module for "Administration"
    self.children.append(modules.AppList(
        _('Administration'),
        models=('auth.*',),
        column=2,
        order=0
    ))

    # append a recent actions module
    self.children.append(modules.RecentActions(
        _('Recent Actions'),
        10,
        column=0,
        order=1
    ))

    # append a feed module
    self.children.append(modules.Feed(
        _('Latest Django News'),
        feed_url='http://www.djangoproject.com/rss/weblog/',
        limit=5,
        column=1,
        order=1
    ))

    # append another link list module for "support".
    self.children.append(modules.LinkList(
        _('Support'),
        children=[
            {
                'title': _('Django documentation'),
                'url': 'http://docs.djangoproject.com/',
                'external': True,
            },
            {
                'title': _('Django "django-users" mailing list'),
                'url': 'http://groups.google.com/group/django-users',
                'external': True,
            },
            {
                'title': _('Django irc channel'),
                'url': 'irc://irc.freenode.net/django',
                'external': True,
            },
        ],
        column=2,
        order=1
    ))


class CustomAppIndexDashboard(AppIndexDashboard):
def init_with_context(self, context):
    self.available_children.append(modules.LinkList)

    self.children.append(modules.ModelList(
        title=_('Application models'),
        models=self.models(),
        column=0,
        order=0
    ))
    self.children.append(modules.RecentActions(
        include_list=self.get_app_content_types(),
        column=1,
        order=0
    ))

我遇到了这个错误,我尝试了所有可能的解决方案,但其中任何一个都有效。请帮助

return dashboard_cls(context, app_label=app_label)
TypeError: 'NoneType' object is not callable

【问题讨论】:

    标签: python django dashboard jet


    【解决方案1】:

    您的 JET_INDEX_DASHBOARDJET_APP_INDEX_DASHBOARD 应该指向您的 dashboard.py 文件所在的位置。因此,例如,如果您的项目名称是 MyProject,并且您已将 dashboard.py 放在如下所示的位置:

    我的项目
    |-SomeApp1
    |
    |-SomeApp2
    |
    |-我的项目
    |--settings.py
    |--wsgi.py
    |--dashboard.py
    |
    |-manage.py

    那么你的 JET_INDEX_DASHBOARD = 'MyProject.dashboard.CustomIndexDashboard'

    为了使事情与您的价值一起工作,dashboard.py 应该位于项目根文件夹中。

    Django JET 不包含对该约定的确切解释,但这就是它在所有 Python 框架(例如 Scrapy)中的工作方式

    【讨论】:

      【解决方案2】:

      我遇到了同样的错误。原来我的CustomIndexDashboard 有一个ImportError

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-06-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-31
        • 2018-08-11
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多