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/

相关推荐
ZTLJQ1 天前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
H5css�海秀1 天前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
SuniaWang1 天前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
韩立学长1 天前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
sheji34161 天前
【开题答辩全过程】以 基于springboot的扶贫系统为例,包含答辩的问题和答案
java·spring boot·后端
阿贵---1 天前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
无敌昊哥战神1 天前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
代码栈上的思考1 天前
消息队列:内存与磁盘数据中心设计与实现
后端·spring
李昊哲小课1 天前
第1章-PySide6 基础认知与环境配置
python·pyqt·pyside
程序员小假1 天前
我们来说一下 b+ 树与 b 树的区别
java·后端