Django 数据库配置、模型类定义和视图函数示例

数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'gx_day17',
        'USER': 'root',
        'PASSWORD': '111111',
        'HOST': '127.0.0.1',
        'PORT': 3306,
    }
}

模型类对象创建

from django.db import models

class Department(models.Model):
    '部门表'
    title = models.CharField(verbose_name='标题', max_length=32)

class UserInfo(models.Model):
    '员工表'
    name = models.CharField(verbose_name='姓名', max_length=16)
    password = models.CharField(verbose_name='密码', max_length=64)
    age = models.IntegerField(verbose_name='年龄')
    account = models.DecimalField(verbose_name='账户余额', max_digits=10, decimal_places=2)
    create_time = models.DateTimeField(verbose_name='入职时间')
    depart = models.ForeignKey(to='Department', to_field='id', on_delete=models.CASCADE)
    gender_choices = (
        (1, '男'),
        (2, '女'),
    )
    gender = models.SmallIntegerField(verbose_name='性别', choices=gender_choices)

路由设置

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('depart/list/', views.depart_list),
    path('depart/add/', views.depart_add),
    path('depart/delete/', views.depart_delete),
    # http://127.0.0.1:8000/depart/<nid>/edit/
    path('depart/<int:nid>/edit/', views.depart_edit),
    
    # 用户列表
    path('user/list/', views.user_list)
]

视图函数设置

from django.shortcuts import render, redirect
from app01 import models
from .models import UserInfo, Department

def user_list(request):
    '用户管理'
    # 获取所有的用户列表
    queryset = UserInfo.objects.all()
    return render(request, 'user_list.html', {'queryset': queryset})

user_list.html设置

<table class='table'>
    <thead>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>密码</th>
            <th>年龄</th>
            <th>余额</th>
            <th>入职时间</th>
            <th>性别</th>
            <th>所属部门</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
    {% for obj in queryset %}
        <tr>
            <th>{{ obj.id }}</th>
            <td>{{ obj.name }}</td>
            <td>{{ obj.password }}</td>
            <td>{{ obj.age }}</td>
            <td>{{ obj.account }}</td>
            <td>{{ obj.create_time|date:'%Y-%m-%d'}}</td>
            <td>{{ obj.get_gender_display }}</td>
            <td>{{ obj.depart.title }}</td>
            <td>
                <a class='btn btn-primary' href=' '>编辑</a >
                <a class='btn btn-danger' href='#'>删除</a >
            </td>
        </tr>
    {% endfor %}
</tbody>
</table>

常见问题:Html无法获得数据库中UserInfo的数据进行页面渲染?

可能是以下原因导致的:

  1. 数据库中UserInfo表没有数据,需要先添加数据才能渲染页面。
  2. 模型类定义不正确,导致无法正确映射到数据库中的表。
  3. 代码中存在语法错误或逻辑错误,导致无法正确执行。可以查看控制台输出的错误信息进行排查。
Django 数据库配置、模型类定义和视图函数示例

原文地址: https://www.cveoy.top/t/topic/m6L3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录