Django获取 verbose_name 显示到前端

在 models.py 文件里,创建各个数据表 models

# 在 models.py 文件里

class AssetSet(models.Model):
    """
    资产表
    """
    name = models.CharField(verbose_name="名称", max_length=32)
    price = models.IntegerField(verbose_name="价格")

    # 只适用于固定的选择
    category_choices = ((1, '文具类'), (2, '3C类'), (3, '房产类'))
    category = models.SmallIntegerField(verbose_name="资产类型", choices=category_choices)

    # 外键 depart_id
    depart = models.ForeignKey(verbose_name="所属部门", to="Department", to_field="id", on_delete=models.CASCADE)

在 views.py 文件里

# 在 views.py 文件里

class AssetModelForm(forms.ModelForm):
    #newField = forms.CharField()
    class Meta:
        model = models.AssetSet 
        fields = ['name', 'price', 'category', 'depart']
        #fields = "__all__"

        """
        # 单一的给某个field添加样式
        widgets = {
            'category': forms.Select(attrs={'style': "width: 300px;"})
        }
        """

    # 给所有的 field 提供样式
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for name, field in self.fields.items():
            if name == "price":
                continue
            field.widget.attrs['style'] = "width: 100px"

def asset_add(request):
    """
    # 获取所有类型
    cat_list = models.AssetSet.category_choices
    dp_list = models.Department.objects.all()

    form = AssetForm()
    """
    
    cat_list = models.AssetSet.category_choices
    dp_list = models.Department.objects.all()
    form = AssetModelForm()

    return render(request, 'asset_add.html', {'cat_list': cat_list, 'dp_list': dp_list, 'form': form})

显示到前端,可以这么操作

{% for field in form %}
        <div>
            <label>{{ field.label }}</label>
            <div>
                {{ field }}
            </div>
        </div>
{% endfor %}

最终的页面显示如下:
请添加图片描述


点个赞呗~

相关推荐

  1. 解决后端ID传前端时被截断,末尾显示00

    2024-06-07 21:04:01       31 阅读
  2. 解决浏览器缓存导致获取最新前端代码问题

    2024-06-07 21:04:01       24 阅读
  3. 前端】字典获取过程

    2024-06-07 21:04:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 21:04:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 21:04:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 21:04:01       87 阅读
  4. Python语言-面向对象

    2024-06-07 21:04:01       96 阅读

热门阅读

  1. c++入门笔记——头文件

    2024-06-07 21:04:01       21 阅读
  2. 爬虫技术笔记

    2024-06-07 21:04:01       24 阅读
  3. 【学习笔记】Git常用命令

    2024-06-07 21:04:01       25 阅读
  4. 实战指南:Go语言中的OAuth2认证

    2024-06-07 21:04:01       26 阅读
  5. 简单使用vue2和elementUI自定义audio支持拖拽进度

    2024-06-07 21:04:01       31 阅读
  6. npm发布自己的组件组件/插件包

    2024-06-07 21:04:01       28 阅读
  7. python-web应用程序-Django数据库-数据库表设计

    2024-06-07 21:04:01       33 阅读
  8. 人类的深度学习与机器的深度学习不同

    2024-06-07 21:04:01       34 阅读
  9. 机器学习笔记——欠拟合、过拟合

    2024-06-07 21:04:01       29 阅读
  10. 鸿蒙系统和MIUI之类的系统有何区别?

    2024-06-07 21:04:01       22 阅读