django - Django:比较模板中的字符串的问题
问题描述
我正在做一个简单的{% if %}
比较,但无法让字符串匹配。
{% if request.user.username == empresa.vendedor|stringformat:"s" %}
我检查了课程并:
request.user.username
是<class 'str'>
。
empresa.vendedor|stringformat:"s"
是<class 'str'>
。
我打印一个案例并:
request.user.username
是Mariano
。
empresa.vendedor|stringformat:"s"
是Mariano
。
在模型中
empresa.vendedor
是一个外键vendedores.nombre
class empresa(models.Model):
..... other fields ......
Vendedor = models.ForeignKey("Vendedores", help_text="Estatus del contenido", blank=True, null=True, on_delete=models.CASCADE)
class Meta:
ordering = ['Nombre']
def __str__(self):
return str(self.Nombre)
class Vendedores(models.Model):
nombre = models.CharField(max_length=200, help_text="Nombre", blank=False, null=True)
apellido = models.CharField(max_length=200, help_text="Apellido", blank=False, null=True)
def __str__(self):
return str(self.nombre)
也试过
{% if empresa.vendedor|stringformat:"s" in request.user.username %}
{% if request.user.username in empresa.vendedor|stringformat:"s" %}
{% if request.user.username == empresa.vendedor %}
{% if empresa.vendedor == request.user %}
我在这里想念什么?提前致谢。
解决方案
你有没有尝试过
{% if request.user.username == (empresa.vendedor|stringformat:"s") %}
?
按位“或”( |
) 的优先级低于==
。请参阅https://docs.python.org/3/reference/expressions.html#operator-precedence
好的,所以Django的模板语言不是python,模板语言中的表达式我找不到很好的参考。抱歉,这里没什么可看的,继续。
推荐阅读
- flutter - Flutter中关于provider的说明——如何保存数据
- tabulator - 制表符:有没有办法让 HeaderFilter 使用格式化值而不是原始数据值
- c++ - 我应该如何在我的 qt creator 程序中添加 DLL?
- amazon-web-services - 亚马逊 aws cli 查询starts_with
- r - 在其透明背景上居中饼图
- android - 如何让这个类成为单身人士?
- python - 为什么在字典中获取时只打印最后一行也需要用 0 替换 None
- javascript - addEventListener - 如果未点击语句如何制作
- amazon-web-services - 无法从系统设置加载凭据。AWS_ACCESS_KEY_ID
- substrate - 调度在另一个 Substrate FRAME 托盘中定义的函数