模板中的网址参数-ID-Django

时间:2019-03-13 11:26:10

标签: django

 path('clock/view/<user_id>', views.ClockInOutViewListView.as_view(), name='admin_timesheet_clock_in_out_view'),

我正在URL中传递user_id,看起来像这样-

http://localhost:8000/timesheet/clock/view/13

我希望模板中的user_id重用该user_id示例-13

我试图在模板中{{user_id}},但是它没有任何价值

如何在模板中获取13值,该值在我的网址中传递

class ClockInOutViewListView(LoginRequiredMixin, generic.TemplateView):
    template_name = 'clock/clock-view.html'

    def get_context_data(self, user_id, **kwargs):   
        context = super(ClockInOutViewListView, self).get_context_data(**kwargs)
        try:
            context['views'] = TimesheetEntry.objects.filter(
                                    timesheet_users = user_id,
                                ).order_by('-id')
        except: pass

        return context

1 个答案:

答案 0 :(得分:1)

您可以通过 user_id 访问 self.kwargs['user_id'] ,其中 self 是视图实例

尝试一下

class ClockInOutViewListView(LoginRequiredMixin, generic.TemplateView):
    template_name = 'clock/clock-view.html'

    def get_context_data(self, **kwargs):
        user_id = self.kwargs['user_id']
        context = super(ClockInOutViewListView, self).get_context_data(**kwargs)
        context['user_id'] = user_id
        return context


现在,您可以以 user_id

的方式访问模板中的{{ user_id }}

除此之外,我建议避免使用裸露的try..except pass块,因为这是不好的行为 在这里阅读更多.. Why is “except: pass” a bad programming practice?