我可以用上下文替换django choicefield显示值吗?

时间:2012-10-18 19:04:17

标签: python django forms replace

我有一个下拉字段,只需要在后端存储两个值,因为用户总是在主队和客队之间进行选择。当然,客场球队每周都会改变。

理想情况下,我要做的就是更改{{form.field}}上的显示文字。所以,例如:

<option value="Opponent">Opponent</option>

将显示为

<option value="Opponent">OSU</option>

我尝试过几种方法。起初,我手工编写了各种表单字段,但是当输入无效数据时我没有收到错误。我现在正在玩一个使用replace()的模板标签,但到目前为止我没有运气。

有什么想法吗?我觉得我缺少一些基本的东西。非常感谢。

1 个答案:

答案 0 :(得分:0)

choices可以是任何可迭代的,因此请定义一个查找团队名称的人:

class ChoiceList(object):
    def __iter__(self):
        yield ("home", "Home")
        yield ("opponent", get_weekly_opponent_name())

team = fields.ChoiceField(choices=ChoiceList())