在模板中运行python

在模板中运行python,python,django,django-templates,Python,Django,Django Templates,我有一个申请人模型,其中包含标题、名字和姓氏,我正在将它们的列表传递给此处的模板: {% for applicant in applicants %} <tr> <td>{{ applicant.id }}</td> <td>{{ applicant.title.replace('^','') }} {{ applicant.first_name }} {{ ed {% </tr> {% endfo

我有一个
申请人
模型,其中包含
标题
名字
姓氏
,我正在将它们的列表传递给此处的模板:

 {% for applicant in applicants %}
   <tr>
     <td>{{ applicant.id }}</td>
     <td>{{ applicant.title.replace('^','') }} {{ applicant.first_name }} {{ ed {% 
   </tr>
 {% endfor %}
但这会导致模板中断

Could not parse the remainder: '('^','')' from 'applicant.title.replace('^','')'

如何在模板变量上运行python而不导致此错误?

对于这种简单的情况,可以使用内置的
cut
过滤器,如下所示:

<td>{{ applicant.title|cut:"^" }} ...
您可以轻松实现以下功能:

def myfilter(value):
    """sanitizes my output"""
    for c in "_^/\\":
        value = value.replace(c, '')
    return value
并申请

<td>{{ applicant.title|myfilter }} ...
{{申请人.标题| myfilter}}。。。

对于这种简单的情况,您可以使用内置的
cut
过滤器,如下所示:

<td>{{ applicant.title|cut:"^" }} ...
您可以轻松实现以下功能:

def myfilter(value):
    """sanitizes my output"""
    for c in "_^/\\":
        value = value.replace(c, '')
    return value
并申请

<td>{{ applicant.title|myfilter }} ...
{{申请人.标题| myfilter}}。。。
如何在模板变量上运行python而不导致此错误

如果不切换到其他模板处理器,至少不能


使用Django,您应该在视图中执行所有数据转换。该模板仅用于最终呈现html

您可以使用不同的模板引擎(jinja2是一个流行的选择),并将其输出用作响应的内容

如何在模板变量上运行python而不导致此错误

如果不切换到其他模板处理器,至少不能


使用Django,您应该在视图中执行所有数据转换。该模板仅用于最终呈现html


您可以使用不同的模板引擎(jinja2是一个流行的选择),并将其输出作为响应的内容。

已经有了这样一个内置的模板过滤器:已经有了这样一个内置的模板过滤器:“使用Django,您应该在视图中执行所有的数据转换。”:这是错误的。Django的模板系统附带了一套全面的模板标记和过滤器(可以执行“数据转换”等),您可以添加自己的标记和过滤器。“使用Django,您应该在视图中执行所有数据转换。”:这是错误的。Django的模板系统附带了一套全面的模板标记和过滤器(可以执行“数据转换”等),您可以添加自己的标记和过滤器。