Django里choices字段使用中文使用

打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

假如想要将下面的表格里的内容数字换成对应的内容:

需要更改成这样:


下面是步骤:
在 python 里的 models.py 文件里,创建数据表的时间,用到了 choices
  1. class Example(models.Model):
  2.     name = models.CharField(verbose_name="名称", max_length=32)
  3.     price = models.IntegerField(verbose_name="价格")
  4.     # 只适用于固定的选择
  5.     category = models.SmallIntegerField(verbose_name="资产类型", choices=((1, '文具类'), (2, '3C类'), (3, '房产类')))
复制代码
在 views.py 文件里,从数据库里获取数据,传给前端页面:
  1. def example_list(request):
  2.     queryset = models.Example.objects.all().order_by("-id")
  3.     return render(request, 'example_list.html', { "queryset": queryset })
复制代码
在 example_list.html 文件里,做修改
  1. <table border="1px">
  2.     <thead>
  3.         <tr>
  4.             <th>ID</th>
  5.             <th>标题</th>
  6.             <th>价格</th>
  7.             <th>分类</th>
  8.         </tr>
  9.     </thead>
  10.     <tbody>
  11.         {% for obj in queryset %}
  12.         <tr>
  13.             <td>{{ obj.id }}</td>
  14.             <td>{{ obj.name }}</td>
  15.             <td>{{ obj.price }}</td>
  16.             <td>{{ obj.get_category_display }}</td>
  17.         </tr>
  18.         {% endfor %}
  19.     </tbody>
  20. </table>
复制代码
在 html 里,得必须通过 obj.get_列表名称_display 的方法才能调用 choices 里的内容。
要想在 views.py 里,从数据库获取内容,可以通过
  1. # 必须得添加括号 ()
  2. obj.get_列表名称_display()
复制代码

点个赞呗~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表