在我的 jinja2 模板中使用 url 作为变量?
Use the url as a variable in my jinja2 template?
有没有办法在我的模板中使用 slug?
我的网址中有:
path("cats/check/<int:pk>/lista", ObjetoListView.as_view(), name='posesiones_consulta'),
如何访问 int:pk 作为变量?
我要评价这个:
{% if cat.mom.id == pk %}
您将它传递给上下文:
class ObjectoListView(ListView):
# …
def get_context_data(self, *args, **kwargs):
return super().get_context_data(
*args,
<b>pk=self.kwargs['pk']</b>,
**kwargs
)
如果您想要过滤列表,您应该在数据库级别执行此操作,例如:
class ObjectoListView(ListView):
# …
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).filter(
<b>mom__pk=self.kwargs['pk']</b>
)
在模板中过滤不是一个好主意,因为那样的话数据库将return 所有条记录,从而增加带宽 在数据库和应用程序之间,此外,在数据库级别进行过滤(几乎)总是比在视图或模板中过滤更快。
有没有办法在我的模板中使用 slug?
我的网址中有:
path("cats/check/<int:pk>/lista", ObjetoListView.as_view(), name='posesiones_consulta'),
如何访问 int:pk 作为变量?
我要评价这个:
{% if cat.mom.id == pk %}
您将它传递给上下文:
class ObjectoListView(ListView):
# …
def get_context_data(self, *args, **kwargs):
return super().get_context_data(
*args,
<b>pk=self.kwargs['pk']</b>,
**kwargs
)
如果您想要过滤列表,您应该在数据库级别执行此操作,例如:
class ObjectoListView(ListView):
# …
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).filter(
<b>mom__pk=self.kwargs['pk']</b>
)
在模板中过滤不是一个好主意,因为那样的话数据库将return 所有条记录,从而增加带宽 在数据库和应用程序之间,此外,在数据库级别进行过滤(几乎)总是比在视图或模板中过滤更快。