1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页
一、源码特点
python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
开发环境pycharm
mysql 5.0 到5.5
elasticsearch
依赖包 Django 2.2.16
pymysql 0.8.0
知识点是 python 爬取豆瓣 elasticsearch存储,协同过滤推荐
二、功能介绍
前台功能
1)首页浏览
2)top10电影信息展现
3)电影访问、评价。系统通过协同过滤算法,结合用户浏览记录,访问A电影的时,系统根据计算矩阵算法最有可能访问的电影,推荐给用户,增加用户访问的粘性,以达到个性化推荐的目的
4)电影评价,查看公告等
后台功能:
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)用户管理:对用户信息进行添加、删除、修改和查看
(3)公告管理:对公告信息进行添加、删除、修改和查看
(4)电影类型管理:对电影类型信息进行添加、删除、修改和查看
(5)电影管理:对电影信息进行添加、删除、修改和查看、一次性爬取豆瓣电影信息,通过python爬取豆瓣电影信息,存储到数据库中,图片文件存在服务器中,当用户访问浏览电影信息时,
(6)电影浏览管理:对电影浏览信息进行删除、修改和查看
(7)电影评价管理:对电影评价信息进行删除、修改和查看
(8)图形化信息统计
(9)用户登录、退出、个人信息修改
models设计
#管理员表
class gly(models.Model):yhm=models.CharField(max_length=40)#用户名mm=models.CharField(max_length=40)#密码xm=models.CharField(max_length=40)#姓名#用户表
class yonghu(models.Model):yhm=models.CharField(max_length=40)#用户名mm=models.CharField(max_length=40)#密码nc=models.CharField(max_length=40)#昵称nl=models.CharField(max_length=40)#年龄xb=models.CharField(max_length=40)#性别dz=models.CharField(max_length=40)#地址yx=models.CharField(max_length=40)#邮箱#公告表
class gonggao(models.Model):bt=models.CharField(max_length=40)#标题nr=models.CharField(max_length=4000)#内容fbsj=models.CharField(max_length=40)#发布时间#电影类型表
class dylx(models.Model):lx=models.CharField(max_length=40)#类型#电影表
class dianying(models.Model):dymc=models.CharField(max_length=40)#电影名称lx=models.CharField(max_length=400)#类型jj=models.CharField(max_length=4000)#简介tp=models.CharField(max_length=400)#图片dy=models.CharField(max_length=400)#导演zy=models.CharField(max_length=400)#主演nf=models.CharField(max_length=40)#年份gj=models.CharField(max_length=400)#国家pf=models.CharField(max_length=40)#评分ll = models.IntegerField(default=0) #浏览量tj = models.CharField(max_length=40, default='否')#电影浏览表
class dyll(models.Model):dy=models.CharField(max_length=40)#电影yh=models.CharField(max_length=40)#用户sj=models.CharField(max_length=40)#时间#电影评价表
class dypj(models.Model):dy=models.CharField(max_length=40)#电影pj=models.CharField(max_length=4000)#评价yh=models.CharField(max_length=40)#用户pjsj=models.CharField(max_length=40)#评价时间
代码实现
#登录首页
def login(request):if request.method == 'GET':return render(request, "login.html")if request.method == 'POST':yhm = request.POST.get('yhm') # 用户名mm = request.POST.get('mm') # 密码qx = request.POST.get('qx') # 密码if qx == "用户":res = models.yonghu.objects.filter(yhm=yhm, mm=mm).count()if qx == "管理员":res = models.gly.objects.filter(yhm=yhm, mm=mm).count()if res == 0:messages.success(request, "操作失败、用户名和密码不匹配")return redirect('/login')elif res > 0:if qx == "用户":obj = models.yonghu.objects.filter(yhm=yhm, mm=mm).first()request.session['id'] = obj.idif qx == "管理员":obj = models.gly.objects.filter(yhm=yhm, mm=mm).first()request.session['id'] = obj.idrequest.session['yhm'] = yhmrequest.session['mm'] = mmrequest.session['qx'] = qxreturn redirect('/main')#系统首页
def main(request):return render(request, "main.html")#添加管理员
def glyadd(request):if request.method == 'GET':return render(request, "gly/glyadd.html")if request.method == 'POST':yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码xm = request.POST.get('xm') #姓名res = models.gly.objects.filter(yhm=yhm).count();if res > 0:messages.success(request, "操作失败、用户名重复")elif res == 0:messages.success(request, "操作成功")models.gly.objects.create(yhm=yhm,mm=mm,xm=xm, )#return render(request, "gly/glyadd.html")return redirect('/gly/glyadd')#管理员列表
def glylist(request):print(request.method)global listif request.method == 'GET':yhm= request.GET.get('yhm')#用户名if not yhm:yhm = ""print(yhm)list = models.gly.objects.filter(yhm__icontains=yhm).all() # 获取gly表所有的数据return render(request, "gly/glylist.html", {'list': list})
#修改管理员
def glymodify(request):# 获取要修改的数据的idif request.method == 'GET':id = request.GET.get('id')obj = models.gly.objects.get(id=id)return render(request, 'gly/glymodify.html', {'obj': obj})id = request.POST.get('id')yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码xm = request.POST.get('xm') #姓名messages.success(request, "操作成功")ret = models.gly.objects.filter(id=id).update(yhm=yhm,mm=mm,xm=xm, )return redirect('/gly/glylist')def glymod(request):# 获取要修改的数据的idif request.method == 'GET':id = request.session.get('id')obj = models.gly.objects.get(id=id)return render(request, 'gly/modify.html', {'obj': obj})id = request.POST.get('id')yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码xm = request.POST.get('xm') #姓名messages.success(request, "操作成功")ret = models.gly.objects.filter(id=id).update(yhm=yhm,mm=mm,xm=xm, )return redirect('/gly/glymod')# 管理员详情
def glydetail(request):# 获取要修改的数据的idid = request.GET.get('id')obj = models.gly.objects.get(id=id)return render(request, 'gly/glydetail.html', {'obj': obj})#管理员删除
def glydelete(request):# 获取要删除数据的idid = request.GET.get('id')# 查询数据库是否存在obj = models.gly.objects.get(id=id)if obj:# 在数据库中删除obj.delete()messages.success(request, "操作成功")return redirect('/gly/glylist')return HttpResponse("删除失败")#添加用户
def yonghuadd(request):if request.method == 'GET':return render(request, "yonghu/yonghuadd.html")if request.method == 'POST':yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码nc = request.POST.get('nc') #昵称nl = request.POST.get('nl') #年龄xb = request.POST.get('xb') #性别dz = request.POST.get('dz') #地址yx = request.POST.get('yx') #邮箱res = models.yonghu.objects.filter(yhm=yhm).count();if res > 0:messages.success(request, "操作失败、用户名重复")elif res == 0:messages.success(request, "操作成功")models.yonghu.objects.create(yhm=yhm,mm=mm,nc=nc,nl=nl,xb=xb,dz=dz,yx=yx, )#return render(request, "yonghu/yonghuadd.html")return redirect('/yonghu/yonghuadd')#用户列表
def yonghulist(request):print(request.method)global listif request.method == 'GET':yhm= request.GET.get('yhm')#用户名if not yhm:yhm = ""print(yhm)list = models.yonghu.objects.filter(yhm__icontains=yhm).all() # 获取yonghu表所有的数据return render(request, "yonghu/yonghulist.html", {'list': list})
#修改用户
def yonghumodify(request):# 获取要修改的数据的idif request.method == 'GET':id = request.GET.get('id')obj = models.yonghu.objects.get(id=id)return render(request, 'yonghu/yonghumodify.html', {'obj': obj})id = request.POST.get('id')yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码nc = request.POST.get('nc') #昵称nl = request.POST.get('nl') #年龄xb = request.POST.get('xb') #性别dz = request.POST.get('dz') #地址yx = request.POST.get('yx') #邮箱messages.success(request, "操作成功")ret = models.yonghu.objects.filter(id=id).update(yhm=yhm,mm=mm,nc=nc,nl=nl,xb=xb,dz=dz,yx=yx, )return redirect('/yonghu/yonghulist')
#修改用户
#修改用户
def yhmodify(request):# 获取要修改的数据的idif request.method == 'GET':id = request.session.get('id')obj = models.yonghu.objects.get(id=id)return render(request, 'qt/yonghumodify.html', {'obj': obj})id = request.POST.get('id')yhm = request.POST.get('yhm') #用户名mm = request.POST.get('mm') #密码nc = request.POST.get('nc') #昵称nl = request.POST.get('nl') #年龄xb = request.POST.get('xb') #性别dz = request.POST.get('dz') #地址yx = request.POST.get('yx') #邮箱messages.success(request, "操作成功")ret = models.yonghu.objects.filter(id=id).update(yhm=yhm,mm=mm,nc=nc,nl=nl,xb=xb,dz=dz,yx=yx, )return redirect('/yonghu/yhmodify')
# 用户详情
def yonghudetail(request):# 获取要修改的数据的idid = request.GET.get('id')obj = models.yonghu.objects.get(id=id)return render(request, 'yonghu/yonghudetail.html', {'obj': obj})
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件app/settings.py 更改数据库配置
2、开发环境pycharm,数据库为mysql5.0~5.5,使用python语言开发。
3、数据库文件名是pythonfilm.sql ,系统名称pythonfilm
4、系统首页地址:http://127.0.0.1:8080/qt/index
四系统实现
需要源码 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
相关文章:
1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页
一、源码特点 python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 开发环境pycharm…...
基于IDEA的Maven(依赖介绍和引用)
如何通过一个坐标信息(依赖)去引用 ,某个"jar 包" 会在这篇博客进行学习。 目录 一、学习开始 (0)项目的结构组成和 "pom.xml" 文件内容。 (1)首先需要一个标签…...
pytest测试框架pytest-sugar插件生成进度条
Pytest提供了丰富的插件来扩展其功能,介绍下插件pytest-sugar,可以帮助我们在控制台中显示彩色的测试结果和进度条,提供失败的堆栈回溯信息。 为了使用 pytest-sugar,需要满足以下条件: Python 3.8 或更高版本pytest…...
若依框架集成微信支付
1. 添加微信支付相关依赖 <!-- 微信支付 --> <dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version> </dependency> <dependency><groupId>com.gi…...
IOS开发学习日记(十七)
简单的第三方登录和分享功能 第三方登录系统 URL Scheme:App间的跳转及通信 App间跳转场景 登陆系统: 跨平台,跨App 标记用户,个性化的推送 使用第三方登录(减少注册成本 / 无须维护敏感信息) 微信 / Q…...
【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】
文章目录 ARM NEONNEON 向量寄存器NEON 寄存器使用方式NEON 寄存器的视图NEON 寄存器别名NEON 寄存器的用途ARM NEON 在ARMv8架构中,引入了一组新的寄存器,称为向量寄存器(Vector Registers),用于支持高效的向量和浮点计算。这些寄存器是SIMD(Single Instruction, Multi…...
LayoutSystem布局系统
简介: LayoutSystem,是UGUI中由CanvasUpdateSystem发起(m_LayoutRebuildQueue中大部分都是LayoutRebuilder)的关于布局排列的处理系统。 类图: 布局过程 核心代码讲解: LayoutRebuilder...
滚球游戏笔记
1、准备工作 (1) 创建地面:3D Object-Plane,命名为Ground (2) 创建小球:3D Object-sphere,命名为Player,PositionY 0.5。添加Rigidbody组件 (3) 创建文件夹:Create-Foder,分别命名为Material…...
Mysql8死锁排查
Mysql8死锁排查 Mysql8 查询死锁的表 -- 查询死锁表select * from performance_schema.data_locks;-- 查询死锁等待时间select * from performance_schema.data_lock_waits;Mysql8之前的版本 查询死锁的表 -- 查询死锁表SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;-- 查询…...
程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
决策树不仅在人工智能领域发挥着他的作用,而且在数据挖掘中也在分类领域中独占鳌头。了解决策树的思想是学习数据挖掘中的分类算法的关键,也是学习分类算法的基础。 什么是决策树 用术语来说,决策树(Decision Tree)是…...
数据通信与网络(五)
交换机功能: 地址学习(端口/MAC地址映射表) 通信过滤(基于端口/MAC地址映射表) 生成树协议(断开环路) 隔离冲突域 生成树协议 隔离冲突域 交换机配置模式(用不同级别的命令对交换机进行配置) 普…...
数据中心容灾考题
abc cd abc c为啥...
win10远程桌面连接端口,远Win10远程桌面连接端口修改及无法连接解决方案
一、Win10远程桌面连接端口概述 Win10远程桌面连接功能允许用户从远程位置访问和控制另一台计算机。远程桌面连接默认使用TCP 3389端口,但出于安全或其他需求,用户可能希望修改此端口。 二、Win10远程桌面连接端口修改方法 要修改Win10远程桌面连接的…...
基于AT89C52单片机的温度报警系统
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89456321?spm=1001.2014.3001.5503 仿真构造:AT89C52+DS18B20温度模块+三按键+蜂鸣器+四位数码管显示+电源模块。 压缩包构造:源码+仿真图+设计文档+原理图+开题文档+元件…...
[保姆级教程]uniapp配置vueX
文章目录 注意新建文件简单的使用 注意 uniapp是支持vueX的只需配置一下就好 新建文件 在src文件中,新建一个store(如果有的话跳过) 在store中新建一个js文件,修改js文件名称和选择模板为default 在 uni-app 项目根目录下&…...
第二次IAG
IAG in NanJing City 我与南京奥体的初次相遇,也可能是最后一次! 对我来说,IAG 演唱会圆满结束啦! 做了两场充满爱[em]e400624[/em]的美梦 3.30号合肥站,6.21号南京站[em]e400947[/em] 其实,没想到昨天回去看呀!(lack of money […...
智慧校园综合管理系统的优点有哪些
在当今这个信息化飞速发展的时代,智慧校园综合管理系统正逐步成为教育领域的一股革新力量,它悄然改变着我们对传统校园管理的认知。这套系统如同一个无形的桥梁,将先进的信息技术与学校的日常运作紧密相连,展现出多维度的优势。 …...
如何跳出认知偏差,个人认知能力升级
一、教程描述 什么是认知力?认知力(cognitive ability),实际上就是指一个人的认知能力,是指人的大脑加工、储存和提取信息的能力,或者主观对非主观的事物的反映能力,如果变成大白话,…...
Scala中的map函数
Scala中的map函数 在 Scala 中,map 是一种常见的高阶函数,用于对集合中的每个元素应用一个函数,并返回应用了该函数后的新集合,保持原始集合的结构不变。它的主要作用有以下几点: 1. 遍历集合: map 可以遍历…...
linux安装conda环境实践
Conda介绍 conda 是一个开源的软件包管理系统和环境管理软件,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 conda 分为 anaconda 和 miniconda,anaconda 是一个包含了许多常用库的集合版本,miniconda 是精简版…...
Flutter-实现头像叠加动画效果
实现头像叠加动画效果 在这篇文章中,我们将介绍如何使用 Flutter 实现一个带有透明度渐变效果和过渡动画的头像叠加列表。通过这种效果,可以在图片切换时实现平滑的动画,使 UI 更加生动和吸引人。 需求 我们的目标是实现一个头像叠加列表&…...
MSPM0G3507——特殊的串口0
在烧录器中有串口0,默认也是串口0通过烧录线给电脑发数据。 如果要改变,需要变一下LP上的跳线帽。 需要更改如下位置的跳线帽...
如何选择合适的大模型框架:LangChain、LlamaIndex、Haystack 还是 Hugging Face
节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…...
TCP 协议详解:三次握手与四次挥手
在网络通信中,确保数据准确无误地传递是至关重要的。TCP(Transmission Control Protocol,传输控制协议)作为一种面向连接的、可靠的、基于字节流的通信协议,在网络数据传输中起到了核心作用。本文将详细解析 TCP 的基本…...
Matlab 单目相机标定(内置函数,棋盘格)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 具体的标定原理可以参阅之前的博客Matlab 单目相机标定(内置函数),这里实现对棋盘格数据的标定过程。 二、实现代码 getCameraCorners.m function [camCorners, usedImIdx, imCheckerboard] = getCameraCorners(…...
C语言第17篇:预处理详解
1、预定义符号 C语言设置了一些预定义符号,可以直接使用。预定义符号也是在预处理期间处理的。 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI…...
用 Git 玩转版本控制
前言 Git,作为当今最流行的版本控制系统,不仅深受程序员们的青睐,也逐渐成为非开发人员管理文档版本的强大工具。本文将从实用主义的角度出发,深入浅出地介绍 Git 的常用命令,并带领大家探索 Git 的高级功能ÿ…...
AJAX中get和post的区别
在AJAX(Asynchronous JavaScript and XML)中,GET 和 POST 是两种常用的HTTP请求方法,它们之间存在一些关键的区别。以下是这些区别的主要点: 请求的目的: GET:通常用于从服务器检索(…...
软件测试笔记
一、介绍 软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。 1、软件缺陷是什么? 软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。 缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说…...
Elasticseach RestClient Api
Elasticsearch RestclientApi基础用法 查询 索引库 初始化 添加依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency>创建链接 package com…...
【网络安全学习】漏洞扫描:-04- ZAP漏洞扫描工具
**ZAP(Zed Attack Proxy)**是一款由OWASP组织开发的免费且开源的安全测试工具。 ZAP支持认证、AJAX爬取、自动化扫描、强制浏览和动态SSL证书等功能。 1️⃣ 安装zap工具 现在的kali版本不一定会预装zap,我们可以自行安装,安装也十分简单。 apt-get …...
fffdddd
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity GJL isport(clk, reset: in std_logic;btn_green, btn_red: in std_logic; -- 新增控制按键r1, r2, y1, y2, g1, g2: out std_logic;ledag: out std_logic_…...
SpringSecurity实战入门——授权
权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是…...
Linux 网络请求工具:curl
文章目录 Linux 网络请求:curl1. 安装2. 常规用法3. 传输速率4. FTP5. 代理 Linux 网络请求:curl 1. 安装 若系统没有 curl 命令,可以直接通过 yum 或者 dnf 安装: yum -y install curl # 查看版本,确认安装结果 cu…...
leetcode 二分查找·系统掌握 寻找旋转排序数组中的最小值II
题目: 题解: 本题比普通的寻找旋转排序数组中的最小值多了一个数组中的元素可以重复这一点。 这会时原来的思路出现一个漏洞(大家感兴趣可以看看我做普通版寻找旋转排序数组最小值的思路),就是旋转后的数组中的第二个…...
Flink 容错
Apache Flink 的容错机制是确保数据流应用程序在出现故障时能够恢复一致状态的关键机制。这一机制主要通过创建分布式数据流和操作符状态的一致快照来实现,这些快照被称为检查点(Checkpoint)。以下是 Flink 容错机制的主要特点和关键点&#…...
OpenAI策略:指令层级系统让大模型免于恶意攻击
现代的大模型(LLMs)不再仅仅是简单的自动完成系统,它们有潜力赋能各种代理应用,如网页代理、电子邮件秘书、虚拟助手等。然而,这些应用广泛部署的一个主要风险是敌手可能诱使模型执行不安全或灾难性的行动,…...
芝麻清单助力提升学习工作效率 专注时间完成有效的待办事项
芝麻清单助力提升学习&工作效率 专注时间完成有效的工作。今天我们给大家带来一个专注清单,一个更高效的学习和工作的方法! 我们都知道,专注做一个事情,会有效的提升效率,让事情更高效的完成。如果是学习的话&…...
Docker 容器操作命令
文章目录 前言1. 创建并运行容器2. 列出容器3. 停止容器4. 启动已停止的容器5. 重启容器6. 进入容器7. 删除容器8. 查看容器日志9. 导出和导入容器10. 管理网络11. 数据卷操作12. 设置容器自启动 前言 Docker 容器操作是 Docker 使用过程中非常重要的一部分。以下是一些常见的…...
华为配置创建vlan及划接口,trunk干道,DHCP池塘配置
1、创建 vlan [SWA]vlan 10 [SWA-vlan10]quit [SWA]vlan batch2to3510 批量创建vlan2-3,5.10 2、 接口划入 vlan 单个接口修改接口模式为 access [SWA]interface GigabitEthernet 0/0/5 [SWA-GigabitEthernet0/0/5]port link-type access 批修改为 access [H…...
vue3 computed与watch,watchEffect比较
相同点 都是要根据一个或多个响应式数据进行监听 不同点 computed 如要return回来一个新的响应式值,且这个值不允许直接修改,想要修改的话可以设置set函数,在函数里面去修改所依赖的响应式数据,然后计算属性值会基于其响应式依…...
论文:R语言数据分析之机器学习论文
欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 一、研究背景 全球范围内,乳腺癌是导致癌症发病率和死亡率的主要疾病之一。根据2018年…...
【C++】STL中优先级队列的使用与模拟实现
前言:在前面我们学习了栈和队列的使用与模拟实现,今天我们来进一步的学习优先级队列使用与模拟实现 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代码仓库:卫…...
C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用
C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例:集合查询示例: 1. 基本语法从主体语句上区分:1. 主体为单一表达式2. 主体是代码块(多个表达式语句) 从参数上区分1. 带输入参数的…...
Qt底层原理:深入解析QWidget的绘制技术细节(2)
(本文续上一篇《Qt底层原理:深入解析QWidget的绘制技术细节(1)》) QWidget绘制体系为什么这么设计【重点】 在传统的C图形界面框架中,例如DUILib等,控件的绘制逻辑往往直接在控件的类的内部,例如PushButt…...
【Gradio】表格数据科学与图表-连接到数据库
简介 本指南解释了如何使用 Gradio 将您的应用程序连接到数据库。我们将连接到托管在 AWS 上的 PostgreSQL 数据库,但 gradio 对您连接到的数据库类型及其托管位置完全不可知。因此,只要您能够编写 Python 代码来连接到您的数据,您就可以使用…...
艾多美用“艾”为生命加油,献血活动回顾
用艾为生命加油 6月10日~16日,艾多美中国开启献血周活动,已经陆续收到来自烟台总部、山东、广东、河南、四川、重庆、贵阳,乌鲁木齐,吉林,等地区的艾多美员工、会员、经销商发来的爱心助力,截止到目前&…...
人工智能在气象预报领域的崛起:GraphCast引领新纪元
最近,谷歌推出的天气预测大模型GraphCast在全球范围内引起了广泛关注,其卓越的表现不仅刷新了人们对AI能力的认知,更预示着传统天气预报工作模式的深刻变革。 GraphCast是一款基于机器学习技术的天气预测工具,它通过深度学习和大数…...
http和https的区别在哪
HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)之间存在几个关键区别主要涉及安全性、端口、成本、加密方式、搜索引擎优化(SEO)、身份验证等方面 1、安全性:HTTP(超文本传输协议…...
windows10远程桌面端口,Windows 10远程桌面端口修改的两个方法
在Windows 10系统中,远程桌面功能允许用户通过网络从一台计算机远程访问和控制另一台计算机。默认情况下,远程桌面服务使用的端口是3389。然而,出于安全考虑,许多管理员和用户希望修改这一默认端口。本指南将详细介绍如何在Window…...