Django 模型和Admin站点管理(三)

一、定义模型

(1) 创建模型类,必须要继承自 models.Model

python 复制代码
from django.db import models

# Create your models here.
#设计数据库
#创建模型
class UserModel(models.Model):
    name=models.CharField(max_length=30) #对应于SQL name varchar(30)
    age=models.PositiveIntegerField() #非负数

#数据迁移

(2) 数据迁移,刷新数据库,查找到user_usermodel表,并打开,添加数据

  1. python manage.py makemigrations

  2. python manage.py migrate

二、Admin 后台管理

(1)编写admin.py文件

python 复制代码
from django.contrib import admin

from user.models import *   #导入模型包

# Register your models here.

#后台管理系统使用

#1.注册对应的模型
admin.site.register(UserModel)
#2.创建超级管理员的账号和密码
# 在终端写:python manage.py createsuperuser

#3.根据路由urls.py中添加页面路由

(2)在终端 创建超级管理员的账号和密码 amdin/admin

(3) 打开数据库auth_user表查看

(4)启动项目,访问页面http://127.0.0.1:8000/admin,进行登录

(5)登录成功后,查看到用户模型User models

(6)添加这个表的数据

(7)添加成功后页面

(8) 可以修改或删除

(9)查看数据库表的数据是否同步

三、展示数据列表

(1)在views.py文件中编写视图函数

python 复制代码
from django.shortcuts import render

# Create your views here.
#视图函数
from user.models import UserModel


def index(request):
    #获取所有的数据
    users=UserModel.objects.all()
    return render(request,template_name='index.html',context={'users':users})

(2)模板文件(html文件)

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主页</title>
    <style type="text/css">
        li{
            list-style: none;
            line-height: 30px;
        }
    </style>
</head>
<body>
<div>
    <h1>显示学生信息</h1>
    <ul>
        {% for user in users %}
        <li>{{ user.name }} &nbsp;&nbsp;{{ user.age }}</li>
        {% endfor %}
    </ul>
</div>
</body>
</html>

(3)在子应用user配置urs.py文件

(4)主路由配置urls.py

效果: http://127.0.0.1:8000/user/index/

相关推荐
IT_陈寒2 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
晨星shine3 小时前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
蝎子莱莱爱打怪3 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
倚栏听风雨4 小时前
【ES避坑指南】明明存的是 "CodingAddress",为什么 term 查询死活查不到?彻底搞懂 text 和 keyword
后端
程序员爱钓鱼4 小时前
Go 操作 Windows COM 自动化实战:深入解析 go-ole
后端·go·排序算法
回家路上绕了弯4 小时前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
子玖4 小时前
实现微信扫码注册登录-基于参数二维码
后端·微信·go
IT_陈寒4 小时前
JavaScript代码效率提升50%?这5个优化技巧你必须知道!
前端·人工智能·后端
IT_陈寒4 小时前
Java开发必知的5个性能优化黑科技,提升50%效率不是梦!
前端·人工智能·后端
东风t西瓜4 小时前
飞书项目与多维表格双向同步
后端