百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

AI超助:打造第一个Python应用(6)(python ai软件)

liuian 2025-06-12 14:14 43 浏览

即然已定确定时间节点,倒计时。期间还有个中秋节,便得排好了日程,这段时间得紧着点。

打开pycharm 就好似在用点金术。调试python,就好似用各种食材准备一道大餐。照例每天碰到疑难,照例每天遇到欣喜。问渠哪得清如许,为有源头活水来。复盘以为记,是AI超级助手指导Python编程的第6篇。


VPN 是何物?

隔了个周末,小程序也跟着休息。开机,打开app 小程序,点击连接网址,居然无法连接网络。回想上周五增加甘特图的功能,调试修改了相关程序所致。这种错误倒是大姑娘上轿——头一回遇到。问题何在?

于时请教GPT-4O,AI给出了几种可能的错误原因:

1. 确认 Flask 应用程序正常运行.确保 Flask 应用程序已启动并在调试模式下运行。

2. 防火墙或安全软件。是否有任何防火墙或安全软件阻止浏览器访问 localhost。

3. 端口问题。确认没有其他程序占用 5000 端口。如果端口被其他程序占用,可以尝试更改端口号。

4. 浏览器问题 尝试用不同的浏览器访问 http://127.0.0.1:5000 确认不是浏览器问题。确保没有使用代理服务器(若有,暂时关闭)。

5. 网络配置,查看是否有 VPN 或其他网络配置影响到本地网络访问。

6. 代码问题,在代码中,如果使用 app.run(), 确保没有传入 host='0.0.0.0',这会导致外部访问,更改为默认 127.0.0.1 确保本地测试。

对以上的可能原因,逐一排查排除。第1、第3、第4和第6都较便捷。第2项较模糊,便请教通义AI,在其指导下,查找localhost指令配置正确。

大费周章的是网络配置, VPN是啥意思?

VPN 是 Virtual Private Network(虚拟专用网络)的缩写,VPN 技术,可以让用户通过公共网络,通常是互联网建立一个安全的连接,从而访问私有网络资源既可以为企业提供安全的远程访问解决方案,也可以为个人用户提供额外的隐私保护。

回到问题主题,为什么不能联网呢?其实查找了这么多外部原因,并不是问题主因,最后gpt给出一个不经意的提示:可以查看index文件的路由视图。经其提醒,顿然醒悟,原来是自己修改拷贝漏掉了此路由。好吧,还是主程序视图路由的bug,并不是网络设置问题。找到症结,哇哦,问题便迎刃而解。



CSRF令牌(Cross-Site Request Forgery Token):

解决了事件列表的事件删除功能,但在项目列表还未能实现选定项目的删除的功能。在这个过程中反复修改主程序,反复修改相关html文件。期间,对主程序修改时,AI超助特别提醒“当使用Flask库来处理表单,确保表单包含CSRF令牌”。


GPT-4O给出的程序,不一定看到懂,但此前所提的建议,还能读明白。而看到这个建议直接犯晕,不知何意。还是请教通义吧。

什么是CSRF令牌?令牌是一个随机生成的字符串,在服务器端对其进行验证,以确保请求不是伪造。

CSRF是一种网络攻击方式,攻击者可以诱使用户在已认证的状态下向一个网站发送恶意请求。防止点击链接就可以执行删除操作。防犯这种恶意攻击的办法,是在表单中加入一个隐藏字段,也就随机生成的字符串,这个隐藏字段就是CSRF令牌。在服务器端验证请求的真实性,防止伪造。

具体而言,是靠Flask库的扩展,它使得处理Web表单变得简单,当使用Flask-WTF创建表单类时,便可以轻松地添加CSRF保护。


日志的作用

每次遇到问题卡住,请教GPT-4O,AI总是建议查看运行日志。看来查看日志是个基本功,可是怎么查看呢?

我询问通义,AI给出了几点建议, PyCharm 中调试 Python 程序并查看运行日志以定位问题。以下是一些步骤帮助你完成这个过程:

1. 打印日志

“首先,你需要确保你的代码中有足够的日志记录语句。你可以使用 Python 的内置 print() 函数来打印变量值和状态信息到控制台,或者使用更高级的日志模块如 logging 模块来记录不同级别的日志信息(DEBUG, INFO, WARNING, ERROR, CRITICAL)。”

每天调试过程就是在控制台查看,真心不希望看到这些个WARNING, ERROR, CRITICAL信息,但遇见它们这些常客每每皱眉头,而一旦化解,便心花怒放。

“2. 使用 Run/Debug 配置。在 PyCharm 中,可以通过创建一个“Run/Debug Configuration”来指定你的脚本或应用程序如何运行。”

现而今,就是在 PyCharm 中,测试运行脚本,来发现问题并排除bug
”3. 查看控制台输出

运行你的配置 PyCharm 会自动打开一个终端窗口或控制台窗口,在这里你可以看到你的程序的输出信息。如果你使用了 logging,确保配置正确以便将日志信息输出到控制台或文件。”

接下来可以使用 logging,试试。


“4. 调试模式

对于更复杂的错误追踪,可以使用调试模式。设置断点使用调试模式启动应用,当执行到达断点时,程序会暂停,此时你可以检查变量的值,单步执行代码,观察程序的行为。”

其实,一直在调试模式下工作,

“5. 使用 Debug 工具窗

PyCharm 提供了一个专门的 Debug 工具窗口,在这里你可以查看调用堆栈、监视表达式、查看变量等。”

咦,这是个好工具,可以尝试着用起来。即使暂时自己未必看得明白,如查能更准确地找到问题点,让AI修改起来也快些,少一些迷糊和幻觉。


此前逐步熟悉了Git和Sourcetree,现在明白VPN 、明白了令牌以及运行日志及调试,可以修改调试、跟踪回滚。后续还需将现有excel文档信息导入,版面美观,互动友好等一应任务,放在第7篇再聊。

相关推荐

教你把多个视频合并成一个视频的方法

一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...

零代码编程:用kimichat合并一个文件夹下的多个文件

一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...

Java APT_java APT 生成代码

JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...

Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器

在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...

挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?

如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...

五年后,谷歌还在全力以赴发展 Kotlin

作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...

kotlin和java开发哪个好,优缺点对比

Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...

移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?

掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...

颜值非常高的XShell替代工具Termora,不一样的使用体验!

Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...

预处理的底层原理和预处理编译运行异常的解决方案

若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...

为“架构”再建个模:如何用代码描述软件架构?

在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...

深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型

2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...

比分网开发技术栈与功能详解_比分网有哪些

一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...

设计模式之-生成器_一键生成设计

一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...

构建第一个 Kotlin Android 应用_kotlin简介

第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...