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. MySQL各个版本区别及问题总结

    参考:http://www.admin10000.com/document/62.html 一.简介 MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个 ...

  2. 【转】Source Insight中文注释为乱码的解决办法

    我网上查了一堆解决办法,但是都是2017年以前的,并且都是针对于source insight 3.5及以下版本的解决方案,软件版本都到4.0了,应该有新方法出现. 干货:Source Insight ...

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

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

  4. PYTHON-文件指针的移动,移动和函数基础

    # 文件内指针的移动 #大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位 # f.seek(指针移动的字节数,模式控制): 控制文件指针的移动# 模式控制 ...

  5. CBAM: 卷积块注意模块

    CBAM: Convolutional Block Attention Module 论文地址:https://arxiv.org/abs/1807.06521   简介:我们提出了卷积块注意模块 ( ...

  6. OCM_第十一天课程:Section5 —》数据仓库

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  7. Codeforces 448C Painting Fence(分治法)

    题目链接:http://codeforces.com/contest/448/problem/C 题目大意:n个1* a [ i ] 的木板,把他们立起来,变成每个木板宽为1长为 a [ i ] 的栅 ...

  8. uva11983扫描线k次覆盖

    自己做的是从下往上扫描的,一直wa,不知道坑在哪里..但是作为模板.我还是找了份不错的ac代码 /* 被覆盖不低于k次的点 每个点对应了一个单位面积,本题把点转面积即是被覆盖不低于k次的面积 可以当做 ...

  9. jdk提供的数组扩容方法:System.arraycopy

    package chapter7; /* * jdk提供的扩容方法 * System.arraycopy */public class TestArrayjdk { public static voi ...

  10. PHP服务端支付宝支付及回调

    支付宝支付 (由app端自行调起支付宝/微信) 1.下载PHP版SDK 1 <?php 2 3 define('IN_ECS', true); 4 5 /*App支付 PHP服务端*/ 6 /* ...