簡體   English   中英

在django如何將output表數據轉為html模板?

[英]in django how to output table data to html template?

我已經創建了 model,寫入視圖和 urls 以及 html 模板文件,但在執行時無法顯示數據。 如果你知道原因請幫助我? 這是 django 項目models.py中的 3 個文件

# from django.contrib.auth.models import User
from django.contrib.auth.models import User
from django.db import models
# from rest_framework.authtoken.admin import User
from schedule import settings

class GiaoVien(models.Model):
    madotxep = models.ForeignKey(DotXep, on_delete=models.CASCADE)
    hodem = models.CharField(default='', max_length=50)
    ten = models.CharField(default='', max_length=20)
    viettat = models.CharField(default='', max_length=20)
    nhomgv = models.CharField(default='', max_length=20)
    mamau = models.IntegerField(default=0)
    stt = models.IntegerField(default=0)
    ghichu = models.TextField(default='')

    def __str__(self):
        return str(self.id)

視圖.py

enter code here
from django.shortcuts import render, redirect
from inputdata.models import GiaoVien
def show(request):
    queryset = GiaoVien.objects.all()
    context= {'clientes': queryset}
    return render(request, "Main/showdata.html", context)

顯示數據.html

{% extends 'base.html' %}

{% block title %}Show Giao Vien{% endblock %}

{% block content %}

<table>
    <thead>
    {% for field in clientes %}
        <th>{{ field.label }}</th>
    {% endfor %}
    </thead>
    <tbody>
    <tr>
        {% for field in clientes %}
            <td>{{ field.value|default_if_none:'' }}</td>
        {% endfor %}
    </tr>
    </tbody>
</table>
{% endblock content %}

您的問題是您的 model 上沒有“標簽”字段或“值”字段。因此您沒有打印任何內容,因為這些字段不存在。 嘗試這樣的事情:

    {% for field in clientes %}
        <td>{{ field.madotxep |default_if_none:'' }}</td>
        <td>{{ field.hodem |default_if_none:'' }}</td>
        <td>{{ field.ten |default_if_none:'' }}</td>
        <td>{{ field.viettat |default_if_none:'' }}</td>
    {% endfor %}

django 模板本身不會使用 label 或值為您呈現表格,您需要自己在循環中指定表格 header 及其內容:

<table>
    <thead>
        <th>id</th>
        <th>madotxep</th>
        <th>hodem</th>
        <th>ten</th>
        <th>viettat</th>
        <th>nhomgv</th>
        <th>mamau</th>
        <th>stt</th>
        <th>ghichu</th>
    </thead>
    <tbody>
        {% for client in clientes %}
        <tr>
            <td>{{ client.id|default_if_none:'' }}</td>
            <td>{{ client.madotxep|default_if_none:'' }}</td>
            <td>{{ client.hodem|default_if_none:'' }}</td>
            <td>{{ client.ten|default_if_none:'' }}</td>
            <td>{{ client.viettat|default_if_none:'' }}</td>
            <td>{{ client.nhomgv|default_if_none:'' }}</td>
            <td>{{ client.mamau|default_if_none:'' }}</td>
            <td>{{ client.stt|default_if_none:'' }}</td>
            <td>{{ client.ghichu|default_if_none:'' }}</td>
         </tr>
        {% endfor %}
    </tbody>
</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM