如何使用Django在网页上显示的表格元素周围绘制框

时间:2017-07-20 19:59:11

标签: javascript python html css django

我第一次尝试使用Django作为Web框架。

我的views.py函数如下所示:

def display(request):
    find_duplicate()
    return render_to_response('index.html', {'obj': my_model.objects.order_by('id')})

def get_dict():
    d={}
    for e in my_model.objects.all():
        col2 = e.col2
        col3 = e.col3
        col2 = unicode(col2).encode('UTF8')
        col3 = unicode(col3).encode('UTF8')
        d.setdefault(col2, [])
        d[col2].append(col3)
    del d['']
    return d

def find_duplicate():
    #print(d)
    d = get_dict()
    for k,v in d.items():
        if len(v) > 1:
            name=[]
            id=[]
            #print(k)
            for i in v:
                #print(i)
                reg1 = i.split("(")[0]
                name.append(reg1)
                reg2 = re.search(r'[A-Z0-9]*', i.split("_")[1])
                id.append(reg2.group())
            #print(name)
            #print(id)

我的index.html如下:

<body>

    <div class="container">
    <table align="center">
        <tr>
            <th bgcolor="#f0a00c">Col1</th>
            <th bgcolor="#f0a00c">Col2</th>
            <th bgcolor="#f0a00c">Col3</th>
            <th bgcolor="#f0a00c">Col4</th>
            <th bgcolor="#f0a00c">Col5</th>
       </tr>
       {% for b in obj %}
        <tr>
            <td>{{ b.col1 }}</td>
            <td>{{ b.col2 }}</td>
            <td>{{ b.col3 }}</td>
            <td>{{ b.col4 }}</td>
            <td>{{ b.col5 }}</td>
        </tr>
    {% endfor %}

    </table>
    </div> <!-- /container -->

<script>
        var col21 = [], col31 =[];
        {% for b in obj %}
        col21.push("{{b.col2 }}");
        col31.push("{{b.col3 }}");
        {% endfor %}
        console.log(col21);
        console.log(col31);
    </script>
    </body>

我的urls.py:

urlpatterns = patterns(
    '',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'myapp.views.display'),
)

所以,现在index.html显示了col2排序的mysql数据库,如下所示:

Col2   | Col3                   | Col4
1      | Name1(something_1234)  | Some_date
1      | Name1(something_3456)  | Some_date
2      | Name3(something_7890)  | Some_date
2      | Name4(something_0988)  | Some_date

现在,views.py中的get_dict()函数返回字典d,如下所示:

{'1': ['Name1(something_1234)', 'Name1(something_3456)'], '2': 'Name3(something_7890)', 'Name4(something_0988)']}

find_duplicate()函数解析name的每个元素的idCol3部分。因此,该函数中的print(name)将为names(num)提供idskey,即['Name1', 'Name1']&amp;密钥['1234', '3456']的{​​{1}}。

现在,基于此,我想在表格元素上显示红框,如下所示:

Table output

因此,对于Col2中的所有值,如果任何2值相同,则应在它们周围显示一个框,然后对于该Col2值检查1部分和name部分,然后相应地展示它们周围的盒子。

现在我只能显示表格,但如何显示表格以及表格元素周围的方框?

0 个答案:

没有答案