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/

相关推荐
IvanCodes7 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
Patrick在香港7 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
步行cgn8 小时前
Spring c 命名空间注入详解
java·后端·spring
Web3&Basketball8 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
明月_清风8 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
明月_清风8 小时前
AI 越来越强,程序员真正的价值到底是什么?
人工智能·后端
aramae8 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路9 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
AIFQuant9 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
码事漫谈10 小时前
别再跟AI说“请”了,它根本不 care——但有个东西它超在意
后端