Kar*_*hik 2 python django django-templates
在我的数据库作业表中,状态字段的值为"New_Mexico".但我需要在"新墨西哥"这样的html页面中显示.给出一些寻找和替换的想法.
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})
Run Code Online (Sandbox Code Playgroud)
result.html
{% for d in details %}
<label>{{ d.state }}</label>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果这应该是使用时的默认输出{{ object }},那么您应该覆盖__unicode__模型的方法,如下所示:
class MyModel(models.Model):
title = models.CharField(...) # this field may hold our string "New_Mexico"
...
def __unicode__(self):
return self.title.replace('_', ' ')
Run Code Online (Sandbox Code Playgroud)
可能正在使用不同的方法{{ object.human_readable_title }},您可以在模型中定义方法:
def human_readable_title(self):
return self.title.replace('_', ' ')
Run Code Online (Sandbox Code Playgroud)
我认为没有理由为此用例构建自己的模板标记,除非您想将它用于不同模型的许多字段.
编辑:你的"工作"课程中似乎有一个名为"州"的字段.因此,在您的情况下,解决方案可能是:在您的模型类中创建一个方法
def human_readable_state(self):
return self.state.replace('_', ' ')
Run Code Online (Sandbox Code Playgroud)
并在模板中使用:
<label>{{ d.human_readable_state }}</label>
Run Code Online (Sandbox Code Playgroud)
这应该够了吧.
没有内置的模板标签或过滤器可以执行此操作。
编写您自己的模板过滤器。
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters解释了你想要什么。
| 归档时间: |
|
| 查看次数: |
7319 次 |
| 最近记录: |