django+bootstrap弹窗组件

一、组件代码

展示效果

django+bootstrap弹窗组件_第1张图片
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 ='''
                 
            '''%(self.modeltitle,self.ModelConnect)
        return mark_safe(temp)

    # 生成模板内容
    @property
    def ModelConnect(self):
        temp = '''
                   
%s
%s
''' 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

你可能感兴趣的:(django+bootstrap弹窗组件)