【问题标题】:Is there a way to check if some value is IN request.session.name?有没有办法检查某个值是否为 IN request.session.name?
【发布时间】:2021-08-10 09:17:27
【问题描述】:

有人可以澄清一下吗? 我在 request.session 中有一个 Cart 对象 我想检查 request.session.cart 是否包含 item.id 作为键 来自模板

{% if game.id in request.session.cart %}

我知道 game.id 肯定在那个购物车对象中,但模板对此没有反应。 我添加了一个上下文处理器

更新:

SETTINGS.PY

        'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            'order.context_processors.cart',
        ],

模板和会话数据

在图片上看到game.id(看不到实际值但和购物车里的一样),下面是购物车内容 template and session dataenter code here

【问题讨论】:

  • 您的模板似乎没有问题。您能否发布您确定确定正在填充会话和game 上下文变量的代码?
  • 你能添加一个关于request.session.cart 将包含什么的sn-p 吗?你还说“我添加了一个上下文处理器”在这种情况下最好显示上下文处理器并显示TEMPLATES设置的context_processors部分
  • @IainShelvington 。谢谢你的答复 !我添加了一个带有 request.session.cart 内容的 sn-p。 Game.id 是一样的。顺便说一句,当我尝试分别显示 {{ game.id }} 和 {{ request.session.cart }} - 我得到了7657956b-a9f4-4e67-973d-6e2a567d2f77 {'7657956b-a9f4-4e67-973d-6e2a567d2f77': {'item_price': 55.0, 'qty': 1}}
  • @AbdulAzizBarkat 感谢您的回复!我添加了一个带有 request.session.cart 内容的 sn-p。

标签: python django templates session jinja2


【解决方案1】:

好的,它可能关心的每个人。问题是我有 UUID 的 game.id 值。传递给 cart 的值是一个字符串。它们“看起来”相同,但类型不同。 我使用 {{ game.id|slugify }} 将 UUID 转换为字符串。就是这样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    相关资源
    最近更新 更多