我刚刚开始使用Django,一切正常,直到我尝试将django与数据库mysql连接起来。 这是我的问题:
我将此脚本添加到模型
class RootWord(models.Model):
root_id = models.IntegerField(primary_key=True, null=False, unique=True, max_length = 10)
rootword = models.CharField(null=False, max_length = 20)
rootword_pos = models.CharField(null=False, max_length = 20)
def __unicode__(self):
return self.rootword
我在views.py
上写了这个def select_from_db(request)
rootword = RootWord.objects.all()
return render(request, 'ecs/index.html', {'rootword': rootword})
index.html上的
<html><body>{{ rootword }}</body></html>
和返回值[]
(我已经启动了mysql服务)
答案 0 :(得分:1)
我认为您的数据库中可能没有数据。
您可以使用Django shell验证:
python manage.py shell
然后
>>> from ecs import RootWord
>>> RootWord.objects.all()
看看它输出的是什么。
编辑: 您可以在Django shell中手动创建一些数据:
>>> rootword = RootWord(root_id=1, rootword="rootword", rootword_pos="wootword_pos")
>>> rootword.save()
在此之后,您应该看到一些输出;此外,如果你想在你的网页上创建数据,你必须发送一些POST请求并写一个视图来处理它。
答案 1 :(得分:0)
有
rootword = RootWord.objects.all()
根词将是一个列表类型,其元素是根词实例,所以我认为你应该在模板中使用for循环,如下所示:
{% for xxx in rootword %}
blah blah blah
{% endfor %}