zoukankan      html  css  js  c++  java
  • # django-type创建类 ModelForm类创建

    django-type创建类 ModelForm类创建

    标签(空格分隔):
    ---一:type创建对象格式

    type创建类格式:type('类名',(继承的类名,),字段名)

    例: Myform=type('Myform',(Form,),fields_dict)
    继承一个Form类,并且fields_dict,字段名可以根据自己需要,创建相应的格式.

    实例
    应用:创建一个Form类,并且自己创建字段


    Myform=type('Myform',(Form,),fields_dict)
    fields_dict['score_%s'%(quest.id)]=fields.ChoiceField(
    label=quest.title,
    error_messages={'required':'不能为空'},
    widget=widgets.RadioSelect, #这里记住不能加括号
    choices=[(i,i) for i in range(1,11)]
    )


    ModelForm 应用##

    1. 引用格式
      from django.forms import ModelForm,Form
      from django.forms import widgets
      from django.forms import fields

    2. 创建ModelForm.

      class QuestionModelForm(ModelForm):
      question_choice=fields.CharField(widget=widgets.Select(choices=(('1', '打分'),('2', '单选'),('3', '建议')))) #这里和Form类的用法是一样的.
      class Meta:
      model = models.Question #这里是引用Question的数据库
      fields = ['title','question_choice'] #格式化[]里面的字段,在html页面上显示的方法是{{questionModelForm.title}}.

    3. 属性用法.

      form = UserTypeModeForm(instance=obj) ###instance是初始化数据,用于html里初始化页面.

      form = UserTypeModeForm(data=request.POST) ###data是用户输入页面内容集合.

      form.is_valid(): ##表示数据获取成功.后续可以拿数据操作,否则没有结果.
      form.save(): ##数据直接创建到保存到相应数据库里.

  • 相关阅读:
    windows下编译及使用libevent
    安装和使用memcached
    BroadcastReceiver插件化解决方案
    Service插件化解决方案
    Activity插件化解决方案
    换肤-插件化
    资源的插件化
    startActivity进行Hook
    代理模式
    对反射的封装
  • 原文地址:https://www.cnblogs.com/52forjie/p/8018553.html
Copyright © 2011-2022 走看看