python-web应用程序-Django数据库-数据库表设计
python-web应用程序-Django数据库-数据库表设计
在models中创建一个类会自动对数据库进行管理,那么如何用类的声明来实现数据库表的设计呢?
from django.db import models# Create your models here.
class Department(models.Model):title = models.CharField(verbose_name='部门名称',max_length=20)class UserInfo(models.Model):name = models.CharField(verbose_name='姓名',max_length=10)password = models.CharField(verbose_name='密码',max_length=20)age = models.IntegerField(verbose_name='年龄')account = models.DecimalField(verbose_name='账户余额',max_digits=10,decimal_places=2,default=0)crate_time = models.DateTimeField(verbose_name="入职时间")#无约束depart_id = models.BigIntegerField(verbose_name='部门id')"""1.有约束- to ,与那张表关联- to_field ,表中的那一字段关联2.Django自动- 写的dapart- 生成数据列 depart_id3.部门表被删除时- 级联删除dapart = models.ForeignKey(to='Department',to_field='id',on_delete=models.CASCADE)- 置空dapart = models.ForeignKey(to='Department',to_field='id',null=True,blank=True,on_delete=models.SET_NULL)以上均是在数据库中的约束"""dapart = models.ForeignKey(to='Department',to_field='id',null=True,blank=True,on_delete=models.SET_NULL)#在django中做出约束gender_choices = ((1,'男'),(2,'女'))gender = models.SmallIntegerField(verbose_name='性别',choices=gender_choices)
Django连接数据库
1.创建数据库
create database pymysql DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2.在Django中配置数据库
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'pymysql', #数据库名称'USER':'root','PASSWORD':'123456','HOST':'127.0.0.1','PORT':'3306'}
}
3.根据models中的类自动生成表结构命令
python manage.py makemigrations
python manage.py migrate
也可点击-tools - run manage.py TASK
makemigrations
migrate
部门管理
用最原始的方法做
后续使用Django中提供的Form和ModelForm组件更方便
1.参数传递
前端:
href="/depart/{{ obj.id }}/edit/
urls.py中:
path('depart/<int:nid>/edit/',views.depart_edit)
#<int:nid>:正则表达式,相当于占位符,该位置传递的是nid 的参数。
view.py中
def depart_edit(request,nid):
'''部门'''
#根据nid,获取他的数据[obj,]
row_object = models.Department.objects.filter(id=nid).first()return render(request,'depart_edit.htnl',{"row_object": row_object})
2.模版的继承
对于前端高度重复的部分,可以使用模版继承将不变的继承下来,变化的重写即可
-
创建一个前端模版layout.html
-
在需要变化的地方加上
{% block content %} {% endblock %} -
使用模版,创建一个test.html
{% extends 'layout.html' %}{% block content %}{% endblock %}layout.html:
<! DOCTYPE html><html lang="en "><head> <meta charset="UTF-8"><title>Title</title></ head> {% block css %}{% endblock % }<body> <h1>标题</h1> <div> {% block content %}{% endblock % } </div> <h1>底部</h1></ body>{% block js %}{% endblock % } </ htm1>继承模版
{% extends 'layout.html' %} {% block css %} XXXXXX {% endblock % }{% block content %}XXXXXXX{% endblock %}{% block js %} XXXXXXXX {% endblock % }
相关文章:
python-web应用程序-Django数据库-数据库表设计
python-web应用程序-Django数据库-数据库表设计 在models中创建一个类会自动对数据库进行管理,那么如何用类的声明来实现数据库表的设计呢? from django.db import models# Create your models here. class Department(models.Model):title models.Ch…...
C#知识|封装典型的SQLServer数据库查询方法。
哈喽,你好啊,我是雷工! 前边学习封装了增删改的方法封装: 《C#知识|通用数据访问类SQLHelper的编写》; 本节继续学习将两种典型的查询方法封装成类。 下边为学习笔记。 01 封装单一返回结果的封装 在查看封装后的代码之前,可以先看下封装前代码的写法: 《C#知识|通过A…...
第一篇 逻辑门(与门、或门、非门、异或门)
一、实验目的 了解DE1-SOC开发板一些外设。 掌握常用组合逻辑门电路的基本原理。 学习Verilog HDL的基本语法。 学习使用ModelSim工具对设计的电路进行仿真,包括编写Testbench仿真代码,以及ModelSim工具的使用。 熟悉使用Quartus软件从创建Quartus工…...
车牌号码智能监测识别摄像机
车牌号码智能监测识别摄像机是一项革命性的技术,为交通管理和安全提供了全新的解决方案。这种摄像机利用先进的人工智能和图像识别技术,能够实时监测道路上的车辆,并准确识别车辆的车牌号码,为交通管理和安全提供了强有力的支持。…...
Python局部变量:深入探索与实战应用
Python局部变量:深入探索与实战应用 在Python编程中,局部变量是一个至关重要的概念。它们被定义在函数或方法内部,并且只在定义它们的那个特定的代码块中可见。然而,局部变量的使用并不总是那么简单明了,尤其是当涉及…...
Java面试八股之怎么降低锁竞争
怎么降低锁竞争 减少锁的持有时间: 尽量缩短线程持有锁的时间,只在必要时才获取锁,一旦操作完成立即释放锁。可以通过将同步代码块的范围缩小到最小必要程度来实现,避免在锁保护的代码块中执行耗时操作或等待操作,比如…...
数组的操作方法
数组的操作方法 forEach 循环 数组的私有方法 7个内置操作方法 1.push 尾部添加 2.pop 尾部删除 3.shift 头部删除 4.unshift 头部添加 5.splice 删除 替换 插入(本质是删除 返回的是删除的元素组成的数组[因为可以删除多个…...
RK3588 Android13添加开机logo或开机动画
wzhlenkeng-HP-Pro-Tower-ZHAN-99-G9-Desktop-PC:/media/extern_sda/wzh/rk3588_android/device/rockchip/rk3588$ git show commit e8da2099dccfed7f7b348c2e324d9c3d3e555d39 (HEAD) Author: wzh <wuzenghonglenkeng.com> Date: Tue Jun 4 09:53:48 2024 0800添加开…...
JVM学习-监控工具(一)
使用数据说明问题,使用知识分析问题,使用工具处理问题 无监控,不调优! 命令行工具 在JDK安装目录下,可以查看到相应的命令行工具,如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…...
基础—SQL—DQL(数据查询语言)分页查询
一、引言 上一篇博客学习了排序查询,这次来讲查询的最后一个部分:分页查询。 涉及到的关键字是:LIMIT 。 二、DQL—分页查询 对于分页,不管以后做的是传统的管理系统还是做互联网的项目,基本上都会遇到分页查询的操…...
独立开发者通过这100种方式赚钱
独立开发者可以通过多种方式赚钱: 销售游戏:独立开发者可以通过 Steam、Itch.io 和 App Store 等平台直接向消费者销售他们的游戏。 他们还可以在自己的网站上出售游戏的实体副本或数字下载。 提供游戏内购买:一些游戏包括微交易或游戏内购…...
gitlab服务器迁移(亲测有效)
描述:最近公司迁移gitlab,我没有迁移过,经过网上查找资料最终完成迁移,途中也遇到挺多坑和两个问题,希望能帮到你。 新服务器安装gitlab 注意:新服务器gitlab版本也需要和旧版本一致。 首先查看原Gitlab…...
【刷题(12)】图论
一、图论问题基础 在 LeetCode 中,「岛屿问题」是一个系列系列问题,比如: 岛屿数量 (Easy)岛屿的周长 (Easy)岛屿的最大面积 (Medium)最大人工岛 (Hard&…...
FASTGPT:可视化开发、运营和使用的AI原生应用
近年来,随着人工智能(AI)技术的迅猛发展,AI的应用逐渐渗透到各行各业。作为一种全新的开发模式,AI原生应用正逐步成为行业的焦点。在这方面,FASTGPT无疑是一款颇具代表性的产品。本文将详细介绍FASTGPT的设…...
代码随想录-Day27
39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重…...
TalkingData数据统计:洞察数字世界的关键工具
TalkingData数据统计:洞察数字世界的关键工具 在数字化时代,数据已成为推动社会进步和商业决策的核心动力。TalkingData作为国内领先的移动数据服务平台,为众多企业提供了全面、精准的数据统计服务。本文将深入探讨TalkingData数据统计的应用…...
printf 一次性写
PWN里printf漏洞感觉很小,可发现居然理解的不全。 一般情况下,当buf不在栈内时,就不能直接写指针。这时候需要用到rbp链或者argv链。一般操作是第一次改指针,第二次改数值。 DAS昨天这里只给了一次机会然后就exit了。今天ckyen给…...
【Axure高保真原型】切换查看大图列表
今天和大家分享切换查看大图列表的原型模板,我们可以点击列表里的图片查看对应的大图,点击左右箭头可以切换切换上一页或下一页,如果是首页会自动禁用左箭头,末尾页会自动禁用右箭头。这个原型模板是用中继器制作的,所…...
Ant-Design-Vue动态表头并填充数据
Ant-Design-Vue动态表头并填充数据 Ant-Design-Vue 是一个基于 Vue.js 的前端UI框架,它继承了 Ant Design 的优秀设计理念,并针对 Vue.js 进行了深度优化。在实际开发过程中,我们经常需要处理各种复杂的表格数据,而 Ant-Design-V…...
Python-匿名函数
一、概念 匿名函数造出来的是一个内存地址,且内存地址没有绑定任何名字,很快被当做垃圾清理掉。所以匿名函数只需要临时调用一次,而有名函数永久使用; 匿名函数一般和其他函数配合使用; # 有名函数def func(x, y):…...
SEO_中小企业必备的快速见效SEO优化解决办法
SEO: 中小企业必备的快速见效SEO优化解决办法 在当前竞争激烈的市场环境中,中小企业如何迅速提升在搜索引擎上的曝光率,成为每个企业家关注的焦点。搜索引擎优化(SEO)不仅能帮助企业吸引更多潜在客户,还能显著提高网站…...
Jimeng AI Studio实现Web爬虫:数据采集自动化方案
Jimeng AI Studio实现Web爬虫:数据采集自动化方案 1. 项目背景与需求 电商公司每天需要从多个网站采集商品信息,传统的手工复制粘贴方式效率低下,而且容易出错。技术团队需要处理上百个商品页面的数据,包括价格、库存、描述和用…...
WarcraftHelper:经典游戏现代化的创新解决方案 - 玩家实用指南
WarcraftHelper:经典游戏现代化的创新解决方案 - 玩家实用指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当你在4K显示器上启动《魔兽…...
解锁AMD Ryzen处理器潜能:SMU Debug Tool全场景应用指南
解锁AMD Ryzen处理器潜能:SMU Debug Tool全场景应用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…...
基于LSTM时间序列预测思想优化Qwen3对话连贯性
基于LSTM时间序列预测思想优化Qwen3对话连贯性 你有没有遇到过这种情况?和AI助手聊得正起劲,从天气聊到周末计划,再聊到最近看的电影,结果它突然冒出一句:“您刚才提到的那个项目需求是什么?”——得&…...
像素幻梦创意工坊保姆级教程:从安装到生成你的第一张像素画
像素幻梦创意工坊保姆级教程:从安装到生成你的第一张像素画 1. 准备工作:认识像素幻梦创意工坊 像素幻梦创意工坊(Pixel Dream Workshop)是一款基于FLUX.1-dev扩散模型的AI像素艺术生成工具。它采用明亮的16-bit像素风格界面,让艺术创作变得…...
AI 模型推理 GPU 调度策略优化
AI 模型推理 GPU 调度策略优化 随着人工智能技术的快速发展,AI 模型推理在医疗、金融、自动驾驶等领域的应用日益广泛。GPU 资源的高效调度成为提升推理性能的关键挑战。如何优化 GPU 调度策略,以降低延迟、提高吞吐量并减少资源浪费,成为研…...
RMBG-2.0开源模型教程:微调BiRefNet适配特定行业(如医疗影像标记)
RMBG-2.0开源模型教程:微调BiRefNet适配特定行业(如医疗影像标记) 1. 项目概述与核心价值 RMBG-2.0(BiRefNet)是一个基于先进架构开发的图像背景扣除模型,能够精确识别并移除图像背景,保留高质…...
Qwen3.5-2B轻量部署教程:适配Jetson/树莓派的2B多模态模型实测
Qwen3.5-2B轻量部署教程:适配Jetson/树莓派的2B多模态模型实测 1. 模型概述 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为边缘计算设备优化,主打低功耗、低门…...
别再只盯着神经网络了!聊聊AI的另外两条路:专家系统和强化学习怎么用
当深度学习不是最优解:专家系统与强化学习的实战突围指南 在科技媒体的狂轰滥炸下,神经网络几乎成了人工智能的代名词。但当我们真正将AI技术落地到企业级场景时,往往会发现:那些需要处理小样本数据、要求决策过程透明可解释、或者…...
