django+bootstrap弹窗组件

一、组件代码

展示效果

image.png

介绍整个代码,可以直接使用,使用前引入bootstrap.css,可以一步生成弹窗,可以自定制显示的标题和展示条数

  • 参数
参数 介绍
customlist 自定义显示字段用字典的形式
modeltitle 自定义标题
formsobj form对象
namelist 自定义名字
ModelFram 最后展示模板
ModelConnect 展示的内容自定制
customlist 遵守[{'name':"自定义的名字",‘fields’:'字段’}]
from django.utils.safestring import mark_safe
class Edit():
    def __init__(self,modeltitle,formsobj,namelist=None,customlist=None):

        #自定义展示字段
        self.customlist =customlist
        #模板的标题
        self.modeltitle = modeltitle
        #form对象
        self.formsobj =formsobj
        if not self.customlist:
            self.filedlist = []
            self.filedslength()
            if namelist:
                # 定义所有字段的名字
                self.namelist = namelist
            else:
                self.namelist = self.filedlist

    #保存所有字段
    def filedslength(self):
        for i in self.formsobj.fields:
            self.filedlist.append(i)
    #生成模板
    @property
    def ModelFram(self):
        temp ='''
                <div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                  <div class="modal-dialog" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="myModalLabel">%s</h4>
                      </div>
                      <div class="modal-body">
                       <div class="form-horizontal" id="form-calendar-add">

                        %s
                        </div>
                      </div>
                      <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                        <button id="editsave" type="button" class="btn btn-primary">保存</button>
                      </div>
                    </div>
                  </div>
                </div> 
            '''%(self.modeltitle,self.ModelConnect)
        return mark_safe(temp)

    # 生成模板内容
    @property
    def ModelConnect(self):
        temp = '''
                   <div class="form-group">
                       <div class="col-sm-3 control-label">
                           %s
                       </div>
                       <div class="col-sm-9">
                           %s
                       </div>
                   </div>
                       '''
        htmllist = []
        if self.customlist:
            for i in self.customlist:

                temphtml = temp % (i['name'],self.formsobj[i['fields']])
                htmllist.append(temphtml)
        else:
            for i in range(0,len(self.filedlist)):
                temphtml = temp%(self.namelist[i],self.formsobj[self.filedlist[i]])
                htmllist.append(temphtml)
        ret = ''.join(htmllist)
        return ret
        

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 浪自逍遥阅读 1,013评论 0 0
  • 文:心灵育儿 你 值得 被好好疼爱 生活太忙 人人太忙 但不能忘了爱 我们一直想要爱 但一直忘了 爱的源头在自己...
    心灵育儿阅读 4,296评论 17 83
  • 英雄末路高育良 初见君时意气发,博古通今光万丈。 殊知竟为红颜折,一把辛酸泪成行
    一席之宾阅读 1,846评论 0 2

友情链接更多精彩内容