在模板上下文过程中访问基于函数的视图中的PK

2024-09-27 09:33:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个模板上下文处理器来调用我拥有的每个页面的PK基本.html,我已经实现了做模板上下文处理器与其他查询,但现在我需要通过PK。上下文p工作得很好,但是上下文edit却不行,我如何从基于函数的视图调用PK?在

例如:本地主机:8000/path/8,我需要在上下文edit中传递8

  def my_processor(request):
        context = {'edit':InfoPredioGeneral.objects.filter(pk=self.kwargs['pk']),
                   'p':InfoPredioGeneral.objects.filter(user_id=request.user).latest('id')}
        return context

我知道它不工作是因为self和{}没有定义。但我怎么能做到呢?在


Tags: self模板idobjectsrequesthtmlcontext页面
1条回答
网友
1楼 · 发布于 2024-09-27 09:33:11

您使用的是FBV而不是CBV,因此您使用的self应该与类方法一起使用,回答您的问题,您应该在视图中传递id参数,执行如下操作:

def my_processor(request, id):
    context = {'edit':InfoPredioGeneral.objects.filter(pk=id),
               'p':InfoPredioGeneral.objects.filter(user_id=request.user).latest('id')}
    return context

在你的网址.py你应该这样写:

^{pr2}$

相关问题 更多 >

    热门问题