IT评测·应用市场-qidao123.com

标题: Django里choices字段使用中文使用 [打印本页]

作者: 石小疯    时间: 2024-6-10 10:23
标题: Django里choices字段使用中文使用
假如想要将下面的表格里的内容数字换成对应的内容:

需要更改成这样:


下面是步骤:
在 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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4