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):…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
