1
chenstack 2020-02-27 11:27:14 +08:00
前端做映射,传回后端用对应英文
|
2
wuwukai007 2020-02-27 11:30:59 +08:00
这应该前端做,个人觉得
|
3
superrichman 2020-02-27 11:40:06 +08:00
既然前后端都分离了,前端的展示应该让前端去做吧。
|
4
blessyou 2020-02-27 12:34:59 +08:00 via Android
前端做 我怕你到时候还得来一套繁体 map
|
5
siteshen 2020-02-27 12:39:15 +08:00
在后端做的话,可以额外加个字段,API 调用时用原来值,展示时用 display_xxx 属性。
# model: class Post: category = models.CharField(max_length=100, choices=(...)) # API 设计: {"category": "finance | art", "display_category": "财经 | 艺术"} # 辅助函数,从 choices 里解析出对应的值: def get_display_value(post, field='category'): # model = post.__class__.model # choices = ... # [c[1] c for c in choices if c[0] === getattr(post, field')][0] # 进一步优化的话,可以写个 decorator 完成转换工作: @display_fields('category') def list_post(request, response): # 原来的逻辑 # 以上伪代码未考虑错误处理,请自行完善。 |
6
achilles111 OP 感谢诸位大佬,目前暂定让前端做转换了
|