如何在models.py中使用Django会话变量

2024-10-05 12:26:07 发布

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

我想在models.py文件中使用Django会话变量。我怎么做

我想获得用户的Pincode/zip,并且必须使用它运行查询

pin_code = #wanna get from session
price = ProductPrice.objects.get(product=self.pk, pincode=pin_code)

我需要从会话中获取Pincode


Tags: 文件django用户frompygetmodelssession
1条回答
网友
1楼 · 发布于 2024-10-05 12:26:07

在模型方法中,您无权访问请求,因此您无权访问会话。通过会话调用方法的一种方法是add a template tag,它将值从会话传递给方法

@register.simple_tag(takes_context=True)
def price(context, product):
    return product.get_price(pin_code=context.request.session.get('pin_code'))

在您的模板中,您将使用以下内容

{% load product_tags %}

{% price item %}

相关问题 更多 >

    热门问题