首页 > 其他分享 >Django获取 verbose_name 显示到前端

Django获取 verbose_name 显示到前端

时间:2024-06-07 19:29:48浏览次数:20  
标签:category __ verbose models list Django field 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 %}

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


点个赞呗~

标签:category,__,verbose,models,list,Django,field,name
From: https://blog.csdn.net/BSCHN123/article/details/139505384

相关文章

  • 关于正在开发中的DjangoStarter v3版本
    前言最近做的这个项目大量使用了python及其相关的生态,因此自然而然选择了我的DjangoStarter作为后端框架之前v2版本是用RestFramework做接口的,后面我试用了一次django-ninja之后就喜欢这种类似FastApi的写接口方式正所谓天下苦drf久矣,在新的v3版本框架中,我决定......
  • 如何在 django pytest 中使用现有数据库?
    我为我的API设置了默认模式,并为数据搜索设置了现有模式。这是数据库设置:DATABASES={"default":{"ENGINE":"django.db.backends.postgresql"、"OPTIONS":{"options":"-csearch_path=public"}、"NA......
  • 【已解决】Python报错Pytorch:ModuleNotFoundError: No module named ‘torch’
    本文摘要:本文已解决Pytorch:ModuleNotFoundError:Nomodulenamed‘torch’的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。......
  • 195、Django实战:从部署到运维,打造高效Web应用
    DjangoChannels:实现WebSocket与实时通信本文将向您介绍Python开发框架Django中的一个重要组件——DjangoChannels,它使得在Django中实现WebSocket通信变得轻而易举。通过阅读本文,您将了解WebSocket的概念、DjangoChannels的工作原理以及如何在实际项目中使用它来实现实时......
  • 197、加速Django应用:性能优化全攻略
    Python开发框架Django之性能优化:提高应用程序的运行速度本文将为大家介绍如何使用Python开发框架Django进行性能优化,以提高应用程序的运行速度。我们将探讨一系列的技巧和最佳实践,帮助你优化Django应用程序的性能,从而提供更好的用户体验。1.概述在当今的数字化时代,应用......
  • 199、扩展Django之力:第三方库集成指南
    Python开发框架Django之Django插件与扩展:第三方库的使用与集成本文将介绍如何在Django项目中使用和集成第三方库,以扩展Django的功能,提高开发效率。我们将讨论Django插件的概念,如何选择合适的第三方库,以及如何将第三方库集成到Django项目中。1.Django插件与扩展的概念在......
  • Java动态获取实现类 Class.forName(clazz).newInstance()和applicationContext.getBea
    Java动态获取实现类Class.forName(clazz).newInstance()和applicationContext.getBean,beanMap寻找方式,JavaMap定义和初始化方法1.定义枚举类MyServiceTypeEnum.javapackagecom.example.core.mydemo.bean;publicenumMyServiceTypeEnum{SUBMIT_ORDER_SUCCESS("s......
  • k8s - namespace
    简介命名空间,可以根据ns区分业务线、应用、权限一般默认命名空间指向default,可以在kubeconfig中修改默认配置清单文件apiVersion:v1kind:Namespacemetadata:#命名空间名称name:yky常用操作#创建名为yky的nskubectlcreatensyky#删除名为yky......
  • kube-platform平台可视化的第一个接口-namespace列表
    目录概述实践代码启动概述  此文完成kube-platform平台的第一个接口namespace列表返回。  kube-platform从平台搭建至完成第一个接口,至此基本框架就已成型,在此对几篇文章做整理。1.kube-plaform-gin框架使用2.kube-plaform-viper框架使用kube-plaform-cl......
  • Python - Django - MySQL #need to add distinct() after select_related().distinct(
    所以这是ads/views.py还有ads/models.py、ads/forms、ads/urls.py和其他文件,但评分器抱怨的是这个views.py...检索到3806个HTML字符测试已完成:在页面顶部发现菜单栏搜索"HHGTTG_421717639962"时发现多个广告。您可能需要在views.py中的select_related().di......