问题描述
- django如何将mysql中表的内容通过models.py在网页端显示
- 各位朋友们好,mysql数据库中有1张表student包含了nameage两个字段,共1000条数据,现在我想通过django在网页端展示这些数据。看了网上的教程,我在models.py中添加了:
from django.db import models
import MySQLdb
import mysite.settings
class student(models.Model):
name = models.CharField(max_length = 20)
age = models.CharField(max_length = 20)def __str__(self): return self.name
并且在views.py中编写以下代码:
- coding: utf-8 -
import sys
reload(sys)
sys.setdefaultencoding(""utf-8"")from django.shortcuts import render render_to_response
from polls.models import student
from django.http import HttpResponse
import MySQLdb
import mysite.settingsdef index(request):
students = student.objects.all()
name = """"
for stud in students:
name = stud.name
break
return render_to_response('index.html' {'students':students 'name':name})
在settings.py中设置数据库如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql'
#'NAME': os.path.join(BASE_DIR 'test')#database name
'NAME': 'test'
'USER':'root'
'PASSWORD':'123456'
'HOST': 'localhost'
'PORT': '3306'
}
}
在网页端index.html中编写以下内容<body> <p>学生数据如下:</p> <table border=""10""> {% for student in students %} <tr > <td>{{student.name}}</td> <td>{{student.age}}</td> </tr> {% endfor %} </table></body>
我执行了python manage.py makemigrations 和 python manage.py migrate,虽然也出现了与mysql中表student对应的blog_student表,但是blog_student中没有内容,而且网页端没有数据显示。
请教各位朋友们,这是什么原因呢?该如何显示数据啊?
希望朋友们能指点一下,万分感谢。
解决方案
http://blog.csdn.net/styyzxjq2009/article/details/39585323
解决方案二:
先要分析一下,你的数据库表是如何创建的,数据是否成功传递给后端,然后就是数据格式是否跟数据库匹配,这样才能插入数据库
解决方案三:
不显示出来是必然的,因为你在models.py中创建的数据模型对应的是blog_student 这个表,但是你的学生数据在student这个表中,所以读不出来。
想要读出来的方法:
1.可以将student表中的数据导入到blog_student中;
2.不用models.py去创建数据模型了,直接在view.py中去连接数据库,然后读取student表中的数据。