在我的数据库 jobs 表中,状态字段的值为" New_Mexico"。但我需要在html页面中显示如" New Mexico" 。给出一些寻找和替换的想法。
views.py
def result(request,user_id):
userid=user_id
query = Q(emp__companyname=userid) | Q(state=userid )
details=jobs.objects.filter(query).select_related()
return render_to_response('result.html', {'details': details})
result.html
{% for d in details %}
<label>{{ d.state }}</label>
{% endfor %}
答案 0 :(得分:5)
如果在使用{{ object }}
时这应该是默认输出,那么您应该覆盖模型的__unicode__
方法,如下所示:
class MyModel(models.Model):
title = models.CharField(...) # this field may hold our string "New_Mexico"
...
def __unicode__(self):
return self.title.replace('_', ' ')
另一种方法可能是使用{{ object.human_readable_title }}
,您可以在模型中定义方法:
def human_readable_title(self):
return self.title.replace('_', ' ')
我认为没有理由为此用例构建自己的模板标记,除非您想将它用于不同模型的许多字段。
编辑: 你的“工作”课程中似乎有一个名为“州”的字段。所以在你的情况下,解决方案可能是: 在你的模型类中创建一个方法
def human_readable_state(self):
return self.state.replace('_', ' ')
并在模板中使用:
<label>{{ d.human_readable_state }}</label>
这应该可以解决问题。
答案 1 :(得分:1)
没有内置模板标签或过滤器来执行此操作。
编写自己的模板过滤器。
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters解释了你想要的东西。
答案 2 :(得分:0)
如果您的文字是“ python程序语言”
在Django中的html中使用此代码后 {{data.value.split | join:“-”}}
答案是:python-program-language