【问题标题】:Django-Viewflow, customize archive viewDjango-Viewflow,自定义归档视图
【发布时间】:2018-04-07 16:27:29
【问题描述】:

我正在尝试从 Viewflow 自定义默认的 /workflow/archive/ 视图。 (如http://demo.viewflow.io/workflow/archive/

我需要删除一些列并添加一些特定于我的任务的其他列。

我似乎找不到简单的方法。我一直在挖掘,发现可以尝试覆盖viewflow.frontend.views.AllArchiveListView类并添加映射

url('^test/', AllArchiveListView.as_view())

但是这样做时我没有得到任何数据(似乎flow_classes 内部参数在被这样调用时为空)

我也尝试过创建 viewflow/site_archive.html 模板,但似乎有些矫枉过正。

任何可能为我指明正确方向的想法将不胜感激!

【问题讨论】:

    标签: python django django-viewflow


    【解决方案1】:

    要自定义一个通用的前端列表视图,您需要将viewflow.frontend 替换为您自己的前端应用程序。为了简化开发,你可以继承 viewflow 前端基类

    # apps.py
    from django.apps import AppConfig
    from viewflow.frontend.apps import ViewflowFrontendConfig
    
    class FrontendConfig(ViewflowFrontendConfig):
        viewset = 'frontend.viewset.FrontendViewSet'
    
        def register(self, flow_class, viewset_class=None):
            super().register(flow_class, viewset_class=viewset_class)
    
    # views.py
    from viewflow.frontend.views import AllTaskListView as BaseAllTaskListView
    
    class AllTaskListView(BaseAllTaskListView):
        list_display = [
            'task_hash', 'description'
        ]
    
    # viewset.py
    from viewflow.frontend.viewset import FrontendViewSet as BaseFrontendViewSet
    class FrontendViewSet(BaseFrontendViewSet):
        inbox_view_class = views.AllTaskListView
    

    【讨论】:

    • 我尝试了您在此处建议的方法。但是,尚不清楚如何让我的应用使用 FrontEndConfig。它仍在使用 ViewFlow 中的那个。
    • 只需在此处添加我需要启动和运行的其他信息。首先,此示例假定应用名称为“frontend”。此外,我需要将“default_app_config = 'frontend.apps.FrontendConfig'”添加到 init.py。最后,确保在 settings.py 的 INSTALLED_APPS 中注释掉“viewflow.frontend”。
    猜你喜欢
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2011-06-23
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多