如何正确地将枚举 class 传递给 django 中的 .HTML 模板

How to properly pass an enum class to the .HTML template in django

我有一个像这样的枚举 class:

models.py

.
.
    class Status(Enum):
        New = 1
        Modified = 2
        Done = 3

我想将它传递给 html 模板以便迭代并使用它。

所以在我的views.py中我是这样传递的

views.py

from models import Status
.
.

status_options = Status    
    return render(request, 'orders.html', {status_options':status_options})

问题是当我尝试在 HTML 模板中使用它时,我没有得到任何值

我尝试了以下方法

orders.html

{% for status in status_options %}
    {{ status.name }}
{% endfor %}

但是我没有得到任何输出

谁能给我一些指导,好吗?

在你的代码中传递

'status_options' : [ x for x in Status ]

这是一个不可调用的列表,因此您应该能够在模板中对其进行迭代:

{% for option in status_options %}
    {{ option.name }} {{option.value}}
{% endfor %}