Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:检查字符串中的最后一个字符_Python_Django_String - Fatal编程技术网

Python Django:检查字符串中的最后一个字符

Python Django:检查字符串中的最后一个字符,python,django,string,Python,Django,String,我的视图中有一个字符串doc.specialization.name。如果它以s结尾,我想删除s 我尝试了这段代码,但我无法解析“doc.specialization.name.endswith('s')”中的其余部分:“('s')” {%if doc.specialization.name.endswith('s')%} {{doc.specialization.name}切片::-1} {%endif%} 在视图代码中执行此操作比在模板中执行此操作更好。例如: for doc in doc_

我的视图中有一个字符串
doc.specialization.name
。如果它以
s
结尾,我想删除
s

我尝试了这段代码,但我无法解析“doc.specialization.name.endswith('s')”中的其余部分:“('s')”

{%if doc.specialization.name.endswith('s')%}
{{doc.specialization.name}切片::-1}
{%endif%}

在视图代码中执行此操作比在模板中执行此操作更好。例如:

for doc in doc_records:
    if doc.specialization.name.endswith('s'):
        doc.specialization.name = doc.specialization.name[:-1]

但是不要保存记录,假设这只是出于显示目的

您不能在django模板中运行python代码。您可以为此使用内置过滤器:

{% ifequal doc.specialization.name|default:""|slice:"-1" "s" %}
    {# do your stuff #}
{% endifequal %}
default
只是
None
值的回退

关于


您甚至可以使用来避免多次计算同一事物

Karthikr的答案很接近。Ifequal计划在Django的未来版本中被弃用,因此您可能希望使用下面的方法。您还需要在“-1”之后添加“:”

{% if doc.specialization.name|default:""|slice:"-1:" == "s" %}
  <h3> {{ doc.specialization.name|slice:":-1" }} </h3>
{% else %}
  <h3> {{ doc.specialization.name }} </h3>
{% endif %}
{%if doc.specialization.name |默认值:|切片:“-1:==”s“%}
{{doc.specialization.name}切片::-1}
{%else%}
{{doc.specialization.name}
{%endif%}

编写一个自定义模板标记。这样做是在替换现有数据,而OP可能不希望这样做。您是想将其存储到另一个列表中吗?这是django 2.2中的最新答案。请注意“-1”之后的“您还需要添加”:!
{% if doc.specialization.name|default:""|slice:"-1:" == "s" %}
  <h3> {{ doc.specialization.name|slice:":-1" }} </h3>
{% else %}
  <h3> {{ doc.specialization.name }} </h3>
{% endif %}