数据库配置:
DATABASES = {
'default': {
##数据库引擎
'ENGINE': 'django.db.backends.mysql',
##数据库主机地址
'HOST': '127.0.0.1',
##数据库端口号
'PORT': 3306,
##数据库名字
'NAME': 'djangodb',
##连接数据的用户名
'USER': 'root',
##连接数据的密码
'PASSWORD': 'root',
}
}
编辑应用的_init_.py文件
import pymysql
pymysql.install_as_MySQLdb()
编辑应用的models.py文件创建数据库表结构
from django.db import models
# Create your models here.
class Stuinfo(models.Model):
id = models.IntegerField(primary_key=True);
name=models.CharField(max_length=10);
math=models.DecimalField(decimal_places=1);
chinese=models.DecimalField(decimal_places=1);
english=models.DecimalField(decimal_places=1);
total=models.DecimalField(decimal_places=1);
在mysql中创建数据库后进行迁移
python manage.py makemigrations <应用名称>
python manage.py migrate
从上图中可以看出,Django默认会以APP名为数据表前缀,以类名为数据表名!
下面实现:显示所有数据表内容(已经手动创建了数据)
views.py
from django.shortcuts import render
from stusys import models
def stuinfo(request):
stuinfo_list_obj = models.Stuinfo.objects.all()
return render(request,'info.html',{'stuinfo_list':stuinfo_list_obj})
urls.py
from django.contrib import admin
from django.urls import path
from stusys import views
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.stuinfo),
]
html如下:
学生成绩管理系统
学号
姓名
数学
语文
英文
总分
{% for stuinfo in stuinfo_list %}
{{ stuinfo.id }}
{{ stuinfo.name }}
{{ stuinfo.math}}
{{ stuinfo.chinese }}
{{ stuinfo.english }}
{{ stuinfo.total }}
{% endfor %}
运行结果如下: