Django学习笔记008-学生管理系统(Django实现)-查询数据库

数据库配置:

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如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生成绩管理系统</title>
</head>
<body>
<table>
    <thead>
       <tr>
           <td>学号</td>
           <td>姓名</td>
           <td>数学</td>
           <td>语文</td>
           <td>英文</td>
           <td>总分</td>
       </tr>
    </thead>
    <tbody>
        {% for stuinfo in stuinfo_list %}
            <tr>
               <td>{{ stuinfo.id }}</td>
               <td>{{ stuinfo.name }}</td>
               <td>{{ stuinfo.math}}</td>
               <td>{{ stuinfo.chinese }}</td>
               <td>{{ stuinfo.english }}</td>
               <td>{{ stuinfo.total }}</td>
            </tr>
        {% endfor %}

    </tbody>
</table>
</body>
</html>

运行结果如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值