【问题标题】:Unable to fetch data from mysql using django无法使用 django 从 mysql 获取数据
【发布时间】:2021-12-20 08:45:38
【问题描述】:

我没有将数据放入表中。我向您保证,在运行 python manage.py runserver 时我没有遇到任何错误,并且我与 Django 的数据库连接运行良好。我还向您保证,我的数据库中的表有足够的数据,并且数据库中没有问题。

来自views.py:

from django.shortcuts import render, HttpResponse
from anapp.models import Tblchkone
# Create your views here.

def main(request):
    return render(request, 'main.html')

def getTblchkone(request):
    allcategories  = Tblchkone.objects.all()
    context = {'allcategories' : allcategories}
    return render(request, 'main.html', context)

来自 models.py:

from django.db import models
from django.db.models.base import Model

# Create your models here.

class Tblchkone(models.Model):
    categoryId = models.BigAutoField(primary_key=True, editable=False)
    categoryName = models.CharField(max_length=14, unique=True)

来自 main.html:

<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
    integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

  <title>MAIN</title>
</head>

<body>
  <table class="table">
    <thead>
      <tr>
        <th scope="col">Category_Id</th>
        <th scope="col">Catefory_Name</th>
      </tr>
    </thead>
    <tbody>

      {% for x in getTblchkone %}
      <tr>
        <td>{{x.categoryId}}</td>
        <td>{{x.categoryName}}</td>
      </tr>

      {% endfor %}

    </tbody>
  </table>
  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
    integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
    crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
    integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
    crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
    integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
    crossorigin="anonymous"></script>
</body>

</html>

【问题讨论】:

    标签: mysql django


    【解决方案1】:

    您在模板中出错,{% for x in allcategories %} 而不是{% for x in getTblchkone %}。

    {% for x in allcategories %}
    <tr>
        <td>{{x.categoryId}}</td>
        <td>{{x.categoryName}}</td>
    </tr>
    {% endfor %}
    

    因为在您设置context = {'allcategories' : allcategories}的上下文中。

    【讨论】:

    • 我做了这个改变,但我仍然没有得到结果。
    • 很奇怪,可以在视图中添加打印吗?查看查询集Tblchkone.objects.all() 是否不为空? :print(Tblchkone.objects.all()) 在控制台中!
    • 谢谢!查询集出现了。这意味着 Django 应用程序和数据库之间没有障碍。我自己这边出了点问题。
    猜你喜欢
    • 2019-06-16
    • 2020-02-08
    • 1970-01-01
    • 2021-04-16
    • 2020-05-18
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多