当前位置: 首页 > news >正文

【web开发】6、Django(1)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、Django是什么?
  • 二、使用步骤
    • 1.安装Django
    • 2.创建项目
    • 3.创建app
    • 4.快速上手
    • 5.模板继承
  • 数据库操作
    • 1.安装第三方模块
    • 2.自己创建数据库
    • 3.DJango链接数据库
    • 4.DJango操作表中可创建、删除、修改
    • 5.Django操作表中的数据


一、Django是什么?

Django属于后端(也称为服务器端)Web开发框架。
它用于构建和管理Web应用程序的服务器端部分,包括处理HTTP请求、管理数据库、处理业务逻辑、生成动态内容以及与前端(客户端)交互
Django的主要任务是处理与服务器和数据库相关的事务,然后将结果发送给前端,以便在用户的浏览器中呈现

二、使用步骤

1.安装Django

cmd:pip install django==2.2.9
安装成功标志:在python安装目录下的scripts下有django-admin.exe

2.创建项目

在终端创建项目
(1)打开终端cmd
(2)cd定位进入某个目录
(3)执行命令创建项目

“D:\python311\Scripts\django-admin.exe” startproject 项目名称

D:/python311/Scripts/django-admin startproject try_mysite

//如果D:\python311\Scripts已加入环境系统变量:
django-admin.exe startproject 项目名称

django-admin.exe startproject try_mysite11

在这里插入图片描述
Pycharm(专业版)创建项目
在这里插入图片描述
在这里插入图片描述

特殊说明:

在终端创建项目是标准的
Pycharm 在标准的基础上添加了东西;
(1)templates目录(删除)注意:如果没有删除,则在创建模板时,会优先在根目录下寻找templates
(2)setings(左Pycharm创建版,右终端创建版)(专业版增加的内容删除)

在这里插入图片描述

默认项目文件介绍
在这里插入图片描述

settings.py:项目配置文件(连接数据库…注册app)【常操作】
urls.py:URL和函数的对应关系【常操作】
wsgi.py:接受网络请求【不动】
manage.py: 项目的管理,启动项目、创建app、数据管理【不动】

3.创建app

用户管理、订单管理、后台管理、网站、API

法一:终端:python manage.py startapp app01
法二:工具-运行manage.py任务,,在下面输入startapp app 名字

终端

python manage.py startapp app01

在这里插入图片描述

默认app文件介绍
在这里插入图片描述
migrations :数据库字段变更记录
admin.py : django默认提供了admin后台管理
apps.py :app启动类
models.py 【*重要】对数据库操作
tests.py :单元测试
views.py: 【重要】函数

4.快速上手

1.确保已注册:【settings.py】

在apps.py文件下找到对应的名字,在settings.py文件下的对应位置进行添加(即注册)。
在这里插入图片描述
在这里插入图片描述

2.编写URL和视图函数对应关系【urls.py】

from app01 import viewsurlpatterns = [path('index/',views.index),
]

在这里插入图片描述
3.编写视图函数【views.py】

from django.shortcuts import HttpResponse,def index(request):return HttpResponse("欢迎使用")

在这里插入图片描述
4.启动django项目
(1)命令行启动python manage.py runserver
(2)pycharm启动 (启动按钮)

注意:Django创建项目所涉及的文件很多,容易混淆或遗漏,下面再写一个页面【urls】,可以多看几遍,会有收获的。

5.再写一个页面【urls.py】
在这里插入图片描述
在这里插入图片描述
6.templates模板【目录下创建html文件】
urls.py下

  path('user/list',views.user_list),

views.py下

 def user_list(request):return render(request,"user_list.html")

在app01的下级目录下创建templates目录,并在目录下创建user_list.html。
在这里插入图片描述
7.静态文件:图片\css\js
(1)创建static文件夹,其下创建文件夹css/img/js/plugins
{% load static %}:导入
{% static ‘路径’%}
在这里插入图片描述

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.css' %}">
</head>
<body>
<h1>用户列表</h1>
<input type="text" class="btn btn-primary" value="新建"/>
<div><img src="{% static 'img/证件照.jpg' %}" alt=""><script src="{% static 'js/jquery-3.7.0.min.js' %}"></script><script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.js' %}"></script>
</div>
</body>
</html>

8.模板语法(django开发的)
本质上:在HTML中写一些占位符,由数据对这些占位符进行替换或处理。
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>模板语法的学习</h1><div>{{ n1 }}</div><div>{{ n2 }}</div><div>{{ n2.0 }}</div><div>{{ n2.1 }}</div><div>{% for item in n2 %}<span>{{ item }}</span>{% endfor %}</div><div>{{ n3.name }}{{ n3.salary }}{{ n3.role }}</div><ul>{% for item in n3.keys %}<li>{{item}}</li>{% endfor %}</ul><ul>{% for item in n3.values %}<li>{{item}}</li>{% endfor %}</ul><ul>{% for k,v in n3.items %}<li> {{k}} = {{v}} </li>{% endfor %}</ul>
{{ n4.1.name }}
{% for item in n4 %}<div>{{ item.name }} {{ item.salary }}</div>
{% endfor %}<hr/>
{% if n1 == "贝贝" %}<hi>哒哒哒哒</hi>
{% else %}<h1></h1>
{% endif %}
</body>
</html>

9.请求和响应

def login(request):if request.method == "GET":return render(request,"login.html")username= request.POST.get('username')print(username)password = request.POST.get('password')print(password)if username == "a" and password == "123":# return HttpResponse("登录成功")return redirect("https://www.baidu.com/")return render(request,"login.html",{"error_msg":"用户名或密码错误"})

在这里插入图片描述
django安全机制的校验,解决办法:在form表单下写入{% csrf_token %}

5.模板继承

创建基本模板
首先,您需要创建一个包含网站的共通元素的基本模板。通常,这些元素包括网站的标头导航栏、页脚等。这个模板通常被称为基础模板( base template) 或布局模板 (layout template),并且通常以’.htm1为文件扩展名
在文件最上方{% load static %}
再添加引用css:{% block css %}{% endblock %}
内容添加: {% block content %}{% endblock %}
再添加引用js:{% block js %}{% endblock %}

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>{% block css %}{% endblock %}<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><link rel="stylesheet"href="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css"><style>.navbar {border-radius: 0;}</style>
</head>
<body>
<nav class="navbar navbar-default"><div class="container"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse"data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">联通用户管理系统</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">管理功能 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="/admin/list/">管理员账户</a></li><li><a href="/depart/list/">部门管理</a></li><li><a href="/pretty/list/">靓号管理</a></li><li><a href="/task/list/">任务管理</a></li></ul><li><a href="/user/list/">用户列表</a></li><li><a href="/order/list/">订单管理</a></li><li><a href="/chart/list/">数据统计</a></li><li><a href="/upload/form/">Form上传</a></li><li><a href="/upload/model/form/">ModelForm上传</a></li><li><a href="/city/list/">城市列表(文件)</a></li></ul><ul class="nav navbar-nav navbar-right"><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">{{ request.session.info.name }} <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">我的资料</a></li><li><a href="#">我的信息</a></li><li role="separator" class="divider"></li><li><a href="/logout/">注销</a></li></ul></li></ul></div><!-- /.navbar-collapse --></div>
</nav>
<div>{% block content %}{% endblock %}
</div><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script><script src="{% static 'plugins/bootstrap-datetimepicker-master/js/locales/bootstrap-datetimepicker.zh-CN.js' %}"></script>{% block js %}{% endblock %}
</body>
</html>

创建子模板
接下来,您可以创建各个页面的子模板,这些模板将继承基本模板并覆盖或扩展其中的块。子模板可以包含特定页面的内容。
说明模板文件:{% extends ‘layout.html’ %}
在{% block content %}{% endblock %}中间部分添加内容
{% block css %}{% endblock %}中间部分添加引用css
{% block js %}{% endblock %}中间部分添加引用js

{% extends 'layout.html' %}
{% block content %}<div class="container"><div class="panel panel-default" style="margin-top: 20px;"><!-- Default panel contents --><div class="panel-heading"><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>批量上传</div><div class="panel-body"><form method="post" enctype="multipart/form-data" action="/depart/multi/">{% csrf_token %}<div class="form-group"><input type="file" name="exc"></div><input type="submit" value="上传" class="btn btn-info btn-sm"></form></div><div style="margin-bottom: 10px"></div><div class="panel-heading"><a class="btn btn-success btn-xs " href="/depart/add/"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新建部门</a></div><!-- Table --><table class="table"><thead><tr><th>id</th><th>名称</th><th>操作</th></tr></thead><tbody>{% for obj in queryset %}<tr><th scope="row">{{ obj.id }}</th><td>{{ obj.title }}</td><td><a href="/depart/{{ obj.id }}/edit/" class="btn btn-primary btn-xs ">编辑</a><a href="/depart/delete/?nid={{ obj.id }}" class="btn btn-danger btn-xs ">删除</a></td></tr>{% endfor %}</tbody></table></div></div><!-- /.container -->{% endblock %}

数据库操作

Django开发操作数据库更简单,内部提供了ORM框架

1.安装第三方模块

pip install mysqlclient
pip install --target=提示的路径 requests
7.2ORM的作用:
(1)创建、修改、删除数据库中的表(不用写sql语句,但无法创建数据库)
(2)操作表中的数据(不用写sql语句)

2.自己创建数据库

启动MYSQL数据库,登录并创建

show databases;create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci ; 

在这里插入图片描述

3.DJango链接数据库

在settings.py上修改,密码是前面设置的密码12345

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': "try_orm","USER":'root','PASSWORD':'12345','HOST':'127.0.0.1','POST':3306,}
}

4.DJango操作表中可创建、删除、修改

(1)创建表:在models.py中创建“类”

from django.db import models
# Create your models here.
class UserInfo(models.Model):  #类的名称为UserInfoname = models.CharField(max_length=32)password = models.CharField(max_length=64) #字符串类型age = models.IntegerField() #整型类型
#读到类自动生成如下表
# """
# create table app01_userinfo(
#     id bigint auto_increment primary key,
#     name varchar (32),
#     password varchar (64),
#     age int )
# """

(2)执行命令(前提是app01已注册)
法一:在终端

python manage.py makemigrationspython manage.py migrate

在这里插入图片描述

法二:工具-运行manage.py任务,,在终端依次输入makemigrations migrate
在这里插入图片描述
orm帮忙创建的表
在这里插入图片描述
表创建成功:此后数据库内有刚才创建同数据库名字相同的数据表,内容包含在models.py下定义的类

总结
创建数据库与链接:mysql下创建库,并在settings.py下修改databases
创建表:在app01下的models.py下定义一个类,在终端执行两个命令:
python manage.py makemigrations
python manage.py migrate
在mysql内则自动创建一个与类名相同的表,其内容是类定义时所包含的数据
注意:在表中新增列时,由于已存在列中可能已有数据,所有新增列必须指定新增列的数据
1)手动输入一个值
2)设置默认值(default=2)
3)允许为空(null=True,blank=True)

5.Django操作表中的数据

def orm(request):# 1新建Department.objects.create(title="运营部")Department.objects.create(title="销售部")Department.objects.create(title="摆烂部")Role.objects.create(caption="海上")# 2删除Department.objects.filter(id=1).delete()Role.objects.all().delete()# 3获取数据 data_list=[行,行] QuerySet类型data_list =Department.objects.all()print(data_list)for obj in data_list:print(obj.title)Department.objects.filter(id=4)# 4更新数据# Department.objects.all().update(title="部门")Department.objects.filter(id=3).update(title="部门")return HttpResponse("成功")

相关文章:

【web开发】6、Django(1)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、Django是什么&#xff1f;二、使用步骤1.安装Django2.创建项目3.创建app4.快速上手5.模板继承 数据库操作1.安装第三方模块2.自己创建数据库3.DJango链接数据库…...

第29节-PhotoShop基础课程-滤镜库

文章目录 前言1.滤镜库2.Camera Raw滤镜 &#xff08;用来对图片进行预处理&#xff0c;最全面的一个&#xff09;3.神经滤镜&#xff08;2022插件 需要先下载&#xff09;4.液化&#xff08;胖-> 瘦 矮->高&#xff09;5.其它滤镜1.自适应广角2.镜头矫正 把图片放正3.消…...

空间(蓝桥杯)

空间 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝准备用 256MB 的内存空间开一个数组&#xff0c;数组的每个元素都是 32 位 二进制整数&#xff0c;如果不考虑程序占用的空间和维护内存需要的辅助空间&#xff0c;…...

蓝桥杯2023年第十四届省赛真题-更小的数--题解

目录 蓝桥杯2023年第十四届省赛真题-更小的数 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 蓝桥杯2023年第十四届省赛真题-更小的数 时间限制: 3s 内存限制: 320MB 提交: 895 解决: 303 题目描述 小蓝有一个长度均为 n 且仅由数字…...

SpringBoot详解

文章目录 SpringBoot的特点Spring&#xff0c;SpringBoot的区别SpringBoot常用注解标签SpringBoot概述SpringBoot简单Demo搭建读取配置文件的内容 SpringBoot自动配置Condition自定义beanSpringBoot常用注解原理EnableAutoConfiguration SpringBoot监听机制SpringBoot启动流程分…...

typescript 类型断言

typescript 类型断言 TypeScript 是一种在 JavaScript 基础上开发的强类型语言&#xff0c;它为开发者提供了类型安全性和其他有用的特性。类型断言是 TypeScript 中的一种特性&#xff0c;允许开发者在编译时确定变量或表达式的类型。类型断言有多种使用场景&#xff0c;包括…...

如何确定自己是否适合做程序员?

如果你不确定你是否注定要成为一名程序员&#xff0c;这里有六个迹象可能表明你不适合。 1. 你缺乏实验创造力 尽管编程的基础是逻辑&#xff0c;但它在很大程度上是一种创造性的艺术。新程序就像一张空白的画布。画笔和调色板是语言、框架和库。您需要对自己的创作和创造力有…...

LabVIEW以编程方式查找系统中DAQ设备的设备名称

LabVIEW以编程方式查找系统中DAQ设备的设备名称 使用DAQmx VI&#xff0c;“创建虚拟通道”函数&#xff0c;这个函数需要物理通道输入端。当使用相同型号的新设备&#xff08;例如&#xff0c;两个不同的USB-6210&#xff09;运行可执行文件时&#xff0c;代码会中断&#xf…...

23、mysql数据库的安装

&#xff08;无图&#xff0c;简易版本&#xff09; 一、下载 点开下面的链接&#xff1a;https://dev.mysql.com/downloads/mysql/ 点击Download 就可以下载对应的安装包了 二、解压 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MyS…...

【实战详解】如何快速搭建接口自动化测试框架?Python + Requests

摘要&#xff1a; 本文主要介绍如何使用Python语言和Requests库进行接口自动化测试&#xff0c;并提供详细的代码示例和操作步骤。希望能对读者有所启发和帮助。 前言 随着移动互联网的快速发展&#xff0c;越来越多的应用程序采用Web API&#xff08;也称为RESTful API&…...

Linux安全加固:保护你的服务器

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

【C++初阶】C++STL详解(四)—— vector的模拟实现

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C初阶 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 【C初阶】CSTL详解&#xff08;三…...

VS code 下 makefile 【缺少分隔符 停下来】 报错解决方法

首先来看报错的makefile源码 再来看报错的信息&#xff1a; 第5行缺少分隔符&#xff0c;其实不止是第5行&#xff0c;只要是前面需要加tab留白的行都会报这个错误&#xff0c;比如说第7行第11行 编译的时候&#xff0c;前面的留白必须是按tab键生成的 但是&#xff01;&…...

虹科案例 | Zuellig Pharma和ELPRO通过符合GDP标准的温度监测和高效的温度数据管理为未来发展奠定基础

在本案例研究中&#xff0c;您将了解Zuellig Pharma 实施了温度监测解决方案&#xff0c;以一致的数据结构获取各国和各种运输方式的数据; 通过将温度数据上传到其数据库管理系统&#xff0c;显著提高了其效率; 并建立了为未来管理决策提供数据增值使用的基础。 项目合作伙伴 …...

为啥我的第二个for循环不加框红的代码就运行失效呢?(文末赠书)

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 苟全性命于乱世&#xff0c;不求闻达于诸侯。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python最强王者群【哎呦喂 是豆子&#xff5e;】问了一…...

Java高级之注解

文章目录 一、注解1.1、Annotation的使用示例1.2、自定义注解1.3、元注解1.4、通过反射获取注解信息---未完成1.5、jdk 8 中注解的新特性 一、注解 注解&#xff1a;Annotation 注解是一种趋势&#xff0c;一定程度上 可以说&#xff1a;框架 注解 反射 设计模式 jdk 5.0 新…...

【SpringMVC】JSON数据传输与异常处理的使用

文章目录 一、Jackson1.1 Jackson是什么1.2 常用注解1.3 实例1.3.1导入依赖1.3.2 配置spring-mvc.xml1.3.3 JsonController.java 二、Spring MVC异常处理机制2.1 使用原因2.2 SpringMVC异常处理2.2.1 异常处理机制流程图2.2.2 异常处理的三种方式 一、Jackson 1.1 Jackson是什…...

LeNet-5

目录 一、知识点 二、代码 三、查看卷积层的feature map 1. 查看每层信息 ​2. show_featureMap.py 背景&#xff1a;LeNet-5是一个经典的CNN&#xff0c;由Yann LeCun在1998年提出&#xff0c;旨在解决手写数字识别问题。 一、知识点 1. iter()next() iter()&#xff1a;…...

Anaconda bug

报错如下&#xff1a; DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1):…...

xen-trap

Xen-Trap xen的虚拟化实现有一个很重要的机制就是tarp&#xff0c;中文可以暂且叫做陷入。在ARMv8中&#xff0c;trap就是异常等级的一个切换。 当发生trap的时候&#xff0c;就会进入设定好的异常向量表中&#xff0c;硬件自动判断属于哪种类型的异常。 一、异常处理 ARM…...

AI代码智能体突破电话验证瓶颈:从环境模拟到混合架构的实战方案

1. 项目概述&#xff1a;当代码智能体遇上“电话验证墙”最近在折腾Claude这类AI代码助手做自动化任务时&#xff0c;我发现一个挺有意思的瓶颈&#xff1a;它们经常在需要电话验证&#xff08;Phone Verification&#xff09;的环节上“卡壳”。这可不是个小问题&#xff0c;想…...

AI代理如何革新领导力评估:从隐藏档案任务到低成本高效测量

1. 项目概述&#xff1a;当AI成为你的“面试官”&#xff0c;领导力评估正在发生什么&#xff1f;如果你是一位人力资源总监&#xff0c;或者是一位正在为团队选拔继任者而头疼的部门负责人&#xff0c;那么下面这个场景你一定不陌生&#xff1a;为了评估一个候选人的真实领导潜…...

从混乱到秩序:如何用TrguiNG汉化版重塑你的Transmission下载管理体验

从混乱到秩序&#xff1a;如何用TrguiNG汉化版重塑你的Transmission下载管理体验 【免费下载链接】TrguiNG Transmission WebUI 基于 openscopeproject/TrguiNG 汉化和改进 项目地址: https://gitcode.com/gh_mirrors/tr/TrguiNG 你是否还在为Transmission简陋的原生Web…...

实现Degrees of Lewdity游戏本地化:完整中文补丁安装教程

实现Degrees of Lewdity游戏本地化&#xff1a;完整中文补丁安装教程 本教程将指导您完成Degrees of Lewdity游戏的中文本地化过程&#xff0c;通过系统的游戏本地化方法&#xff0c;帮助您顺利安装中文补丁&#xff0c;解决游戏界面语言障碍&#xff0c;提升游戏体验。我们将…...

【Perplexity学术研究黄金法则】:20年科研老炮亲授5大避坑指南与效率翻倍实战技巧

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity学术研究黄金法则的底层逻辑 Perplexity&#xff08;困惑度&#xff09;并非单纯的语言模型评估指标&#xff0c;而是信息论中熵概念在序列建模中的直接映射——它量化了模型对真实语料分布的…...

清华PPT模板终极指南:从零开始打造专业学术演示

清华PPT模板终极指南&#xff1a;从零开始打造专业学术演示 【免费下载链接】THU-PPT-Theme 清华主题PPT模板 项目地址: https://gitcode.com/gh_mirrors/th/THU-PPT-Theme THU-PPT-Theme是一个专门为清华大学师生和学术工作者设计的PPT模板集合&#xff0c;提供了多种符…...

嵌入式软件测试的范式革命——技术体系与工程价值深度解析

第一章 引言&#xff1a;嵌入式软件质量危机的时代背景在汽车电子、航空航天、工业控制、医疗设备等安全关键领域&#xff0c;嵌入式软件的复杂度正以指数级速度增长。一辆高端智能电动汽车的代码量已突破两亿行&#xff0c;超越了波音787客机的软件规模。与此同时&#xff0c;…...

毕业答辩 PPT,让 AI 替你打工:百考通 AI 如何帮你告别排版内耗与逻辑焦虑

​ 又是一年毕业季&#xff0c;论文写完了&#xff0c;查重过了&#xff0c;导师点头了&#xff0c;你以为可以松口气了&#xff1f; 不&#xff0c;还有一座大山叫“答辩 PPT”。 曾经&#xff0c;我也以为 PPT 只是论文的“精简版”&#xff0c;复制粘贴就能搞定。直到我熬…...

【湖南师范大学主办 | ACM出版,检索快且稳定 | 往届均已见刊并完成EI、Scopus检索】第三届智慧教育与计算机技术国际学术会议 (IECT 2026)暨十三届第四期“麓峰”交叉科学论坛

已通过ACM出版&#xff0c;ISBN号&#xff1a;979-8-4007-2365-0 教育方向结合&#xff1a;计算机、信息技术、人工智能、多媒体技术、大数据等主题均可投递 第三届智慧教育与计算机技术国际学术会议 (IECT 2026)暨十三届第四期“麓峰”交叉科学论坛 2026 3rd International…...

基于Telegram的AI聊天机器人SirChatalot部署与多模态功能配置指南

1. 项目概述&#xff1a;打造你的专属AI骑士 如果你厌倦了那些功能单一、反应迟钝的聊天机器人&#xff0c;想拥有一个既能深度对话、又能看图说话、甚至能帮你搜索网页和生成图片的“全能型”AI伙伴&#xff0c;那么 SirChatalot 这个项目绝对值得你投入时间。它本质上是一个…...