我是Django的新手。 我需要有关从mysql数据库检索数据并将其显示在html页面上的帮助。 有人可以请教。非常感激! :)
Models.py:
class testing(models.Model):
name = models.TextField(null=True)
title = models.CharField(max_length=70, null=False)
def __unicode__(self):
return self.name
Views.py:
def testing_view(request):
test = testing.objects.get(id=1)
return render(request, 'exampapersnew/exampaper.html', {'test': test})
exampapers.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)
答案 0 :(得分:0)
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,登录,您应该在那里找到要测试的模型并向其中添加对象