首页 > 其他分享 >14 Django_forms组件之ChoiceField类型

14 Django_forms组件之ChoiceField类型

时间:2022-08-15 16:25:18浏览次数:61  
标签:__ 14 type Django forms charge ChoiceField class

如果想要灵活应用ChoiceField,那么请看如下:

class TransactionRecord(ActiveBaseModel):
    """ 交易记录 """
    charge_type_class_mapping = {
        1: "success",
        2: "danger",
        3: "default",
        4: "info",
        5: "primary",
    }
    charge_type_choices = ((1, "充值"), (2, "扣款"), (3, "创建订单"), (4, "删除订单"), (5, "撤单"),)


class ChargeModelForm(BootStrapForm, forms.ModelForm):
    # 方式1:
    # 静态变量(程序启动,就加载到内存中了)
    charge_type = forms.ChoiceField(
        label="类型",
        choices=[(1, '充值'), (2, '扣款')],  # 只适合固定的数据,不适合去数据表中获取数据
    )
    # creator = forms.ChoiceField(
        # label='管理员',
        # choices=models.Administrator.objects.filter(id__gt=1).values_list("id", "username")
    # )

    class Meta:
        model = models.TransactionRecord
        fields = ['charge_type', 'amount']

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # 方式2:
        # 每次实例化对象试,都会重新获取数据
        # self.fields['charge_type'].choices = [(1, '扣款'), (2, '充值')]

标签:__,14,type,Django,forms,charge,ChoiceField,class
From: https://www.cnblogs.com/it-lkp/p/16588666.html

相关文章

  • 13 Django-url跳转携带条件
    在生成URL时,需要读取当前URL中的参数并构造URL。例如:当前URLhttp://127.0.0.1:8000/customer/list/?keyword=xinchen&page=8构造编辑页面URLhttp://127.0.0.1:800......
  • VUE+Django前后端分离-第二部分
    四、前端layout及页面跳转1、在src/components目录下创建HeaderAsideMainHeader.vue:<template><header><div><h1style="margin-to......
  • VUE+Django前后端分离-第一部分
    一、创建django项目1、创建django项目在指定目录下,用django-adminstartprojectdjango_vue创建Django项目2、在django项目下创建应用 2.1在django_vue目录下通过命......
  • 12 Django 力度控制到按钮级别
    易理解的按钮控制:customer.html{%extends'layout.html'%}{%loadstatic%}{%loadpermission%}{%blockcontent%}<divstyle="margin-bottom:5px"c......
  • 【2022-08-14】工作的意义
    20:00无论世界上的行业丰富到何种程度,机遇又多到何种程度,我们每一个人比较能做好的事情,永远也就那么几种而已。有时,仅仅一种而已。            ......
  • 上周热点回顾(8.8-8.14)
    热点随笔:· 如何在BI中增加“路线地图”并进行数据分析? (葡萄城技术团队)· 程序员的悲哀 (林子er)· 学长告诉我,大厂MySQL都是通过SSH连接的 (咔咔-)· 【Maui正......
  • django的csrf跨站请求伪造
    1.什么是跨站请求伪造请看图:我们自行写了一个网站模仿中国银行,用户不知道是否是真的中国银行,并且提交了转账信息,生成一个form表单,向银行服务器发送转账请求,这个form表单......
  • django中视图函数的FBV和CBV
    1.什么是FBV和CBVFBV是指视图函数以普通函数的形式;CBV是指视图函数以类的方式。2.普通FBV形式defindex(request):returnHttpResponse('index')3.CBV形式3.1CBV形......
  • 2022.8.14-八月第二周-周日-兰亭序
    不知道能不能用,这周试一下 作词:方文山作曲:周杰伦编曲:钟兴民兰亭临帖行书如行云流水月下门推心细如你脚步碎忙不迭千年碑易拓却难拓你的美真迹绝真心能给......
  • NC14701 取数游戏2
    题目链接题目题目描述给定两个长度为n的整数列A和B,每次你可以从A数列的左端或右端取走一个数。假设第i次取走的数为ax,则第i次取走的数的价值vi=bi⋅ax,现在希望你求出∑v......