from django.forms import Form,ModelForm,fields,widgets as wd
class QueModelForm(ModelForm):
class Meta:
model=models.Question #
fields=['caption','tp']
error_messages = {
'caption':{'required':'名称不等为空','invalid':'格式错误'},
'tp':{'required':'名称不等为空','invalid':'格式错误'}
}
widgets = {
'caption':wd.TextInput(attrs={'class':'form-control',}),
# 'tp':wd.TextInput(attrs={'class':'form-control'})
} class UserTypeModeForm(ModelForm):
title = fields.CharField(max_length=,required=True,widget=wd.Textarea()) class Meta:
model = models.UserType
fields = "__all__" error_messages = {
'title':{'required':'名称不能为空','invalid':'格式错误'}
}
widgets = {
'title':wd.TextInput(attrs={'class':'c1'})
} def edit_que(request,que_id):
# if request.is_ajax():
# print()
# models.Question.objects.create(questionnaire_id=que_id,)
# que_list=models.Question.objects.filter(questionnaire_id=que_id)
# return render(request,'edit_que.html',{'que_list':que_list,'que_id':que_id}) def inner():
que_list=models.Question.objects.filter(questionnaire_id=que_id)
if not que_list:
form=QueModelForm()
yield {'form':form,'obj':None}
else:
for que in que_list:
form=QueModelForm(instance=que)
Opform=OptionModelForm()
temp={'form':form,'Opform':Opform,'obj':que,'option_class':'hide','options':None}
if que.tp == :
temp['option_class']=''
def inner_loop(quee):
option_list=models.Option.objects.filter(qs_id=quee)
for v in option_list:
yield {'form':OptionModelForm(instance=v),'obj':v}
temp['options']=inner_loop(que)
print('temp',form)
yield temp
return render(request,'edit_que.html',{'form_list':inner()})
#############################################
#HTML部分 <ol> {% for item in form_list %} <p></p>
<button type="button" class="close X_btn" data-dismiss="modal" aria-label="Close" X_id="{{ item.obj.id }}"><span aria-hidden="true">&times;</span></button> <li>
<div> <p>问题名称:{{ item.form.caption }}</p>
<p>问题类型:{{ item.form.tp }} <a href="#" class=""data-toggle="modal" data-target="#myModal">添加选项</a></p>
<ul>{% for v in item.options %}
<li id="li_{{ v.obj.id }}">{{ v.form }}</li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %} </ol>

ModelForm的使用的更多相关文章

  1. 【Django】--ModelForm组件

    ModelForm a.class Meta: model,#对应Model的 fields=None,#字段 exclude=None,#排除字段 labels=None,#提示信息 help_te ...

  2. Django Form and Modelform Admin定义 高级查询)

    Django的form表单一般具有两种功能 1. 验证输入 2.输入HTML ---------模板----------- from django import forms class BookFor ...

  3. Django ModelForm and Form

    django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm 关于django的表单系统,主要分两种 基于django.forms.Form 基于dj ...

  4. Django: ModelForm中Meta的fields等成员介绍

    class MyForm(forms.ModelForm): realname = forms.CharField() phone = forms.CharField() class Meta: mo ...

  5. Django中ModelForm应用

    Django中ModelForm的应用 在传统中Form提交的POST的数据在服务器端获取时将不得不一一获取并验证数据的可靠性,但是使用django提供的Form时可简化该过程并提供相应的验证,同时D ...

  6. Django中使用ModelForm实现Admin功能

    接上一篇<Django中使用Bootstrap> ModelForm 可以将数据库中的信息展示在一个表中,因此我们在查询数据库信息时可以使用ModelForm在前端展示查询到的信息. 在上 ...

  7. django Modelform

    前言: 为什么要用form去验证呢? 我们提交的是form表单,在看前端源码时如果检查到POST URL及我们提交的字段,如果没有验证我们是否可以直接POST数据到URL,后台并没有进行校验,直接处理 ...

  8. ModelForm

    这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,对,你没猜错,相信自己的英语水平. 先来一个简单的例子来看一下这个东西怎么用: 比如我们的数据库中有这样一 ...

  9. Django的ModelForm组件

    创建类 from django.forms import ModelForm from django.forms import widgets as wd from app01 import mode ...

  10. Django ModelForm修改默认的控件属性

    Django 中利用ModelForm 可以快速地利用数据库对应的Model 子类来自动创建对应表单. 例如: from django.db import models from django.for ...

随机推荐

  1. 扫AR

  2. freeRTOS中文实用教程3--中断管理之延迟中断处理

    1.前言 嵌入式实时操作系统需要对整个系统环境产生的事件作出响应.可以采用中断方式也可以采用轮询方式来进行处理.如果采用中断方式,则希望ISR(中断服务例程)的处理时间越短越好. 注:必须说明的是,只 ...

  3. camera驱动框架分析(上)【转】

    转自:https://www.cnblogs.com/rongpmcu/p/7662738.html 前言 camera驱动框架涉及到的知识点比较多,特别是camera本身的接口就有很多,有些是直接连 ...

  4. WPF当中StaticResource调用方法

    1.先在Converter命名空间当中,定义转换功能类: public sealed class BoolToValueConverter : System.Windows.Data.IValueCo ...

  5. React-Native 之 网络请求 fetch

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  6. 使用RMS API 自定义Office(Word、Excel、PPT)加密策略

    什么是RMS: Microsoft Windows Rights Management 服务 (RMS),是一种与应用程序协作来保护数字内容(不论其何去何从)的安全技术,专为那些需要保护敏感的 Web ...

  7. ie6 表格td中无内容时不显示边框的解决办法

    1.在单元格中加入一个空格.这样: <td> </td> 2.直接在table里这样写:<table border="0" cellspacing=& ...

  8. python+selenium七:下拉框、选项框、select用法

    # from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimpo ...

  9. linux命令: chown命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  10. 步步为营-10-string的简单操作

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...