Django模板中的问题

时间:2017-04-20 23:28:23

标签: django listview

实际上,我知道在Django模板中这是不可能的,但我想执行{{ Perception.objects.filter(loan__request__customer__pk = 207) }}

以下是我用于该模板的视图:

class PerceptionIndexView(StaffRestrictedMixin, FrontendListView):
    page_title = _('Perception')
    model = Perception
    template_name = 'loanwolf/perception/index.html'
    pjax_template_name = 'loanwolf/perception/index.pjax.html'
    row_actions_template_name = 'loanwolf/perception/list-actions.inc.html'
    url_namespace = 'perception'

    def active(self, obj):
        if obj.is_active:
            return icon(obj.get_icon(), css_class='green-text', tooltip=_('Active'))
        else:
            return icon(obj.get_icon(), css_class='red-text', tooltip=_('Inactive'))

    def notes_count(self, obj):
        return obj.notes.count()
    notes_count_label = _('Notes')

    def get_change_url(self, obj):
        return obj.get_absolute_url()

    def my_view(self, A_pk):
        filter_perceptions= Perception.objects.filter(loan__request__customer__pk=A_pk)
        return render_to_response('../template/loanwolf/perception/list-view-#2.inc.html', {'filter_perceptions': filter_perceptions})

我尝试使用不同路径的render_to_response,但到目前为止没有任何事情发生。知道我的观点位于loanwolf/perception,我的模板list-view-#2.inc.html位于loanwolf/templates/loanwolf/perception。此外,重要的是要知道FrontendListView使用ListView。我想我不能使用' render_to_response',但目前还不清楚。

是否有人可以使用替代解决方案,以便我可以访问模板中的列表Perception.objects.filter(loan__request__customer__pk)

提前致谢!

1 个答案:

答案 0 :(得分:0)

my_view内的代码放入名为get_context_data的方法中,类似于:

def get_context_data(self, **kwargs):
    context = super(PerceiptionIndexView, self).get_context_data(**kwargs)
    filter_perceptions = Perception.objects.filter(loan__request__customer__pk=...)
    context["filter_perceptions"] = filter_perceptions
    return context

然后通过filter_perceptions

在您的模板中提供{{filter_perceptions}}

如果您需要稍微不同的内容,请查看文档以获取更多示例。