Python django:在选择器选项中呈现包含html的模板字段

Python django:在选择器选项中呈现包含html的模板字段,python,django,django-forms,django-templates,Python,Django,Django Forms,Django Templates,这个问题是关于在选择器的选择中正确呈现html。这是我的密码: models.py from django.db import models class Test(models.Model): area = models.FloatField(choices=((0, '0 mm²'), (0.5, '0.5 mm²')), default=0) views.py from django.shortcuts import render_to_resp

这个问题是关于在选择器的选择中正确呈现html。这是我的密码:

models.py

from django.db import models
class Test(models.Model):
    area = models.FloatField(choices=((0, '0 mm²'), (0.5, '0.5 mm²')), default=0)
views.py

from django.shortcuts import render_to_response
from django.template import RequestContext
from django.forms import ModelForm
from models import Test

class TestForm(ModelForm):
    class Meta:
        model = Test

def test(request):
    form = TestForm()
    return render_to_response('test.html', RequestContext(request, {'form': form}))
test.html

{{ form.area }}
{{ form.area|safe }}
{% autoescape off %}{{ form.area }}{% endautoescape %}

上述三个选项均无法将选择器选项正确显示为0 mm²,而不是
0 mm²。如何解决这个问题?

使用
标记安全
函数使Django不在模板中转义字符串

from django.utils.safestring import mark_safe
from django.db import models
class Test(models.Model):
    area = models.FloatField(choices=((0, mark_safe('0 mm²')), (0.5, mark_safe('0.5 mm²'))), default=0)

那很好用。也不需要安全过滤器或自动转义标签。谢谢