如何将上下文变量与 Django 模板中的 SQL ID 进行比较?

     2023-02-23     171

关键词:

【中文标题】如何将上下文变量与 Django 模板中的 SQL ID 进行比较?【英文标题】:How can i compare a context variable with a SQL ID in a Django template? 【发布时间】:2014-08-25 07:45:27 【问题描述】:

我正在制作一个愿望清单类型的网站,其中突出显示了用户最后一次更改的行。但是,我在这样做时遇到了麻烦,因为显然在上下文变量上使用了 '==' 并且对象的 ID 没有返回 true,尽管它们看起来相同。

例如,这是我正在拨打的render 电话:

def wishlist(request):
    ...
    user_change = request.COOKIES.get('voted_or_added', False)
    return render(request, 'xbox_wishlist/wishlist.html',  'user_change': user_change, )

然后在我的模板中,我有:

...
<tbody>
    % for game in ranked_wishlist %
        % if user_change == game.id %
    <tr style="background: #80FF80;">
        % else %
    <tr>
        % endif %
...

我尝试同时显示 game.id user_change ,它们都在正确的位置显示相同的数字,但是if 语句的谓词似乎永远不会评估为True。我尝试用in 替换==,我尝试交换他们的位置,我尝试了所有方法,但似乎没有任何效果。

有什么想法吗?

【问题讨论】:

【参考方案1】:

From the Django documentation

HttpRequest.COOKIES

包含所有 cookie 的标准 Python 字典。键和值都是字符串。

所以问题是user_change 是一个字符串,而game.id 是一个整数。在python中一个整数,它的字符串表示不相等。

试试这个:

user_change = int(request.COOKIES.get('voted_or_added', -1))
return render(request, 'xbox_wishlist/wishlist.html',  'user_change': user_change, )

【讨论】:

呃,做到了。这发生在我身上,但我不确定如何在模板中转换为 int/string……在传入之前没想到要这样做——谢谢! There are some tips to do that in this question,但总的来说,您希望将这种逻辑保留在您的视图中,而不是您的模板中。

我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]

】我将如何在Django模板标签中使用模板上下文变量的值?[复制]【英文标题】:HowwillIusetemplatecontextvariable\'svalueinsideDjangotemplatetags?[duplicate]【发布时间】:2018-06-0515:19:54【问题描述】:在Django中,我见过trans标签,将翻译字符串... 查看详情

如何将我的上下文变量传递给 Django 中的 javascript 文件?

】如何将我的上下文变量传递给Django中的javascript文件?【英文标题】:HowcanIpassmycontextvariablestoajavascriptfileinDjango?【发布时间】:2012-01-3019:40:10【问题描述】:这个问题一定很明显,但我想不通。在模板中,我链接到我的媒体目... 查看详情

Django 如何将自定义变量传递给上下文以在自定义管理模板中使用?

】Django如何将自定义变量传递给上下文以在自定义管理模板中使用?【英文标题】:Djangohowtopasscustomvariablestocontexttouseincustomadmintemplate?【发布时间】:2012-03-0211:10:22【问题描述】:我正在扩展change_list.html,我需要输出一个在setti... 查看详情

如何将 django 模板变量呈现为 html?

...式呈现,我使用wmd.js来存储格式化的输入,假设我有一个上下文变量variable和字符串值"&lt;p&gt;somethi 查看详情

如何正确地将多个参数(来自模板/上下文)传递给 Django 中的视图?

】如何正确地将多个参数(来自模板/上下文)传递给Django中的视图?【英文标题】:HowdoIcorrectlypassmultiplearguments(fromthetemplate/context)toaviewinDjango?【发布时间】:2018-09-2721:24:44【问题描述】:我对Django比较陌生(v=2.1)。几天以来... 查看详情

如何在 Django 2.1 中的模板内的 for 循环内设置变量?

....1?【发布时间】:2020-02-0707:19:23【问题描述】:我有一个上下文字典,其中包含要传递给模板的数据。我需要根据我使用%with%Django模板标签实现的一些标志变量来切换两个div。但是,当我尝试使用%set%语法设置变量时,出现以下... 查看详情

如何将 django 变量正确转换为模板中的 json

】如何将django变量正确转换为模板中的json【英文标题】:Howtoconvertdjangovariableintojsonintemplateproperly【发布时间】:2013-07-2720:12:59【问题描述】:我正在使用django-jsonify将django变量转换为javascript中的json,并返回这样的列表["pk":4,"mod... 查看详情

根据用户的属性迭代 Django 模板中的上下文变量

】根据用户的属性迭代Django模板中的上下文变量【英文标题】:IteratecontextvariablesinDjangotemplatesbasedonuser\'sattributes【发布时间】:2021-03-3005:08:26【问题描述】:是否可以遍历下面显示的三个上下文变量的列表,以便根据用户的属... 查看详情

如何更新 django 模板中的渲染变量?

】如何更新django模板中的渲染变量?【英文标题】:howtoupdaterenderedvariableindjangotemplates?【发布时间】:2020-12-0720:14:22【问题描述】:我正在尝试渲染一个将在代码中多次更新的变量,但它只是将最后一个渲染到模板中,例如:vie... 查看详情

Django 3:创建 CRUD 表模板(将上下文变量传递给 HTML)

】Django3:创建CRUD表模板(将上下文变量传递给HTML)【英文标题】:Django3:CreatingaCRUDTabletemplate(passingcontextvariablestoHTML)【发布时间】:2021-02-1305:51:47【问题描述】:我正在构建一个Crud表模板,因为用户有很多表要更新,并且我在... 查看详情

Django,如何将变量从 Django 管理员传递到模板?

】Django,如何将变量从Django管理员传递到模板?【英文标题】:Django,howtopassavariablefromtheDjangoadmintoatemplate?【发布时间】:2018-06-0121:20:11【问题描述】:我希望能够在django管理面板中设置一个变量,该变量将作为模板变量传递给... 查看详情

Django:不能将变量传递给包含的模板?

...真实的例子:我有3个文件:home.html(将获取从Views传递的上下文变量)base.html(骨架模板文件)和header.html(包含在base.html中)。如 查看详情

如何在django中访问子模板中的会话变量?(代码片段)

...板隐藏在最终由视图呈现的许多父模板中。我已经包含了上下文处理器(我正在使用Django1.8):TEMPLATES=('BACKEND':'askbot.skins.template_backends.AskbotSkinTemplates',,'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':[],'APP_DIRS':True,'OPTIONS':'co... 查看详情

django 的模板标签“include”如何与 None 一起使用

...includefragment_variable%其中fragment_variable是一个可能不存在的上下文变量。我想知道当fragment 查看详情

如何将计算变量添加到 wagtail StructBlock 模板上下文?

】如何将计算变量添加到wagtailStructBlock模板上下文?【英文标题】:HowtoaddcomputedvariabletothewagtailStructBlocktemplatecontext?【发布时间】:2018-09-1223:44:25【问题描述】:我想根据StructBlock中的其他块值计算一些custom变量并将这个custom变... 查看详情

将模板变量从 URL 传递到 Django 中的 FormPreview

】将模板变量从URL传递到Django中的FormPreview【英文标题】:PassingtemplatevariablesfromURLtoFormPreviewinDjango【发布时间】:2011-12-1711:00:53【问题描述】:我是Django菜鸟,担心我的问题的答案很明显,但希望有人能提供帮助。我正在构建一... 查看详情

Django - 如何将 javascript 变量从另一个文件加载到模板

】Django-如何将javascript变量从另一个文件加载到模板【英文标题】:Django-Howtoloadjavascriptvariablefromanotherfiletotemplate【发布时间】:2021-09-0823:04:55【问题描述】:如何从模板内的另一个js文档中加载一些变量,然后在我的模板中的脚... 查看详情

如何将表单视图作为 django 中的上下文传递给另一个视图?

】如何将表单视图作为django中的上下文传递给另一个视图?【英文标题】:Howtopassaformviewtoanotherviewasacontextindjango?【发布时间】:2016-01-0616:34:18【问题描述】:我正在使用Django1.8创建应用程序。我有一个链接模型和一个评论模型... 查看详情