python - django 从 mysql 数据库中检索数据
问题描述
我是 Django 的新手。我需要从 mysql 数据库中检索数据并将其显示在 html 页面上的帮助。有人可以请教。非常感激!:)
模型.py:
class testing(models.Model):
name = models.TextField(null=True)
title = models.CharField(max_length=70, null=False)
def __unicode__(self):
return self.name
视图.py:
def testing_view(request):
test = testing.objects.get(id=1)
return render(request, 'exampapersnew/exampaper.html', {'test': test})
试卷.html:
<div class="control-group">
<div class="controls">
<h1>{{ test }}</h1>
</div>
</div>
mySQL 数据库:
SELECT * FROM exampapersnew_testing;
+----+-----------+-------+
| id | name | title |
+----+-----------+-------+
| 1 | Geraldine | Ms |
+----+-----------+-------+
1 row in set (0.00 sec)
解决方案
test 不是你的类测试的一个实例。它是测试类中所有对象的 QuerySet。因此,在您的 html 中,您应该使用 for 循环来显示您拥有的所有测试对象(无论是一个对象还是多个对象,都必须循环)。
在您的 html 中:
{% for t in test %}
Name: {{ t.name }}
Title: {{ t.title }}
{% endfor %}
PS:如果您没有将对象添加到数据库,则不会显示任何内容
编辑 1
您编辑了您的问题,因此我的回答不再有意义。在这种情况下,我认为您的数据库连接有问题。
编辑 2
1/ 在您的控制台中:运行 python manage.py createsuperuser 并填写您的用户名和密码。
2/ 在您的 admin.py 中添加以下内容:
from django.contrib import admin
from .models import testing
admin.site.register(testing)
3/ 运行 makemigrations 并再次迁移以确保一切就绪
4/ 运行 python manage.py runserver 并打开 your_localhost/admin,登录,你应该在那里找到你的模型测试并向其中添加对象
推荐阅读
- javascript - 反应JS | 映射嵌套对象
- javascript - 显示来自 RSS 源的图像
- angular - 通用类型数组未显示属性
- android - 我想通过其高级 api 即 PJSUA2 使用 PJSIP 堆栈开发一个 android VOIP 应用程序
- linux - 我如何查看 linux 上的内存使用情况?(过去 30 天)
- c# - 获取值 <= 10 的卡片组合列表
- typescript - Intellisense 卡在使用打字稿加载
- gradle - 如何告诉 gradlew 使用现有的 gradle 而不是每次都下载它?
- google-api - 如何使用 google drive webhook 获取共享驱动器更改事件(如驱动器重命名、添加或删除成员等)?
- python - 读取JSON文件时如何修复“'list'对象没有属性'values'”