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/

相关推荐
信誓旦旦的程序猿1 小时前
【Python量化实战宝典 #08】可转债与债券接口手册:转股价·溢价率·纯债价值(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
砚底藏山河1 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年1 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym1 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
CS创新实验室1 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
CCblandy2 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
我是人✓2 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
quantdash_cc2 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
把我格子衫拿来2 小时前
VTK 9.5 与 Qt 6 联合开发:从嵌入三维窗口到可维护的桌面架构
c++·python·qt·vtk·三维可视化
cpolar技术支持2 小时前
把配置发出去怕带出密钥?先把含凭据配置转成脱敏只读快照,用 cpolar 给同事核对差异
运维·python·内网穿透·cpolar·配置脱敏