使用django-xadmin-extras

时间:2017-10-24 12:03:43

标签: python django python-3.x django-views django-admin

我有一个名为 Foo 的应用。 Django-xadmin根据定义的模型自动在应用下创建菜单。我想用自定义视图创建自定义菜单。以下是我用 adminx.py -

编写的自定义管理视图
from xadmin.views import CommAdminView

class TestAdminView(CommAdminView):
    form = TestForm
    app_config = FooConfigForCustomMenu

    def get_context(self, *args, **kwargs):
        ctx = super(TestAdminView, self).get_context(*args, **kwargs)
        form = TestForm()
        ctx["form"] = form

        return ctx

    def get(self, request, *args, **kwargs):
        return render(request, "app/app.html", self.get_context()) 

    def post(self, request, *args, **kwargs):
        # Do some stuff
        return render(request, "link to another template")

# Registration
xadmin.site.register_view(r"^foo-test/$", TestAdminView, name="foo-test")

在这里,我继承了xadmin的CommAdminView FooConfigForCustomMenu 是根据 apps.py 中的Django-xadmin-extras文档编写的,如下所示 -

from xadmin_extras.apps import AdminAppMixin

class FooConfigForCustomMenu(AdminAppMixin):
    name = 'test'
    verbose_name = 'test'
    icon = 'chart'

    def init_menu(self):
        return [{'url': r"^foo-test/$", 'icon': 'bolt',
        'title': 'Test for foo', 'order': '', 'perm': None}]

APP_CONFIG = FooConfigForCustomMenu()

Foo 应用下的xadmin中没有名为 test 的菜单。我在这做错了什么?我被困在这里好几个小时。通过继承django.forms的 Form 类, forms.py 中的表单就像这样启动 -

from django.forms import Form

class TestForm(Form):
    # Initiation of form fields

0 个答案:

没有答案