前端獲取表數據的3種方式


視圖:

def business(request):

    v1 = models.Business.objects.all()                             # 對象(Queryset)
    v2 = models.Business.objects.values('id','caption')        # 字典
    v3 = models.Business.objects.values_list('id','caption')     #列表 

    return render(request, 'business.html', {'v1':v1,'v2':v2,'v3':v3})


def host(request):

    v1 = models.Host.objects.filter(nid__gt=0)
    for row in v1:
        print(row.nid,row.hostname,row.ip,row.port,row.b_id,row.b.caption,row.b.code,row.b,id,sep='\t')
    # 跨表查詢時,用雙下滑線取元素
    v2 =models.Host.objects.filter(nid__gt=0).values('nid','hostname','b_id','b__caption')
    return render(request,'host.html',{'v1':v1,'v2':v2})

單表前端:

    <h1>業務線列表(對象)</h1>
    {%  for row in v1 %}
        <li>{{ row.id }}-{{ row.caption }}-{{ row.code }}</li>
    {%  endfor  %}
    <h1>業務線列表(字典)</h1>
    {%  for row in v2 %}
        <li>{{ row.id }}-{{ row.caption }}</li>
    {%  endfor  %}
    <h1>業務線列表(列表)</h1>
    {%  for row in v3 %}
        <li>{{ row.0 }}-{{ row.1 }}</li>
    {%  endfor  %}

 跨表前端

            {% for row in v1 %}
                <tr hid="{{ row.nid }}" bid="{{ row.b_id }}">
{#                    <td>{{ row.nid }}</td>#}
                    <td>{{ row.hostname }}</td>
                    <td>{{ row.ip }}</td>
                    <td>{{ row.port }}</td>
{#                    <td>{{ row.b_id }}</td>#}
                    <td>{{ row.b.caption }}</td>
{#                    <td>{{ row.b.code }}</td>#}
                </tr>
            {% endfor %}

            {% for row in v2 %}
                <tr hid="{{ row.nid }}" bid="{{ row.b_id }}">
{#                    <td>{{ row.nid }}</td>#}
                    <td>{{ row.hostname }}</td>
{#                    <td>{{ row.b_id }}</td>#}
                    <td>{{ row.b__caption }}</td>
{#                    <td>{{ row.b.code }}</td>#}
                </tr>
            {% endfor %}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM