当前位置:首页>python>告别前后端分离!用Python全栈开发Web应用,效率提升10倍!

告别前后端分离!用Python全栈开发Web应用,效率提升10倍!

  • 2026-06-25 08:35:59
告别前后端分离!用Python全栈开发Web应用,效率提升10倍!

无需HTML/CSS/JavaScript,专注业务逻辑

今天云朵君要给大家介绍一个能极大提升开发效率的神器——NiceGUI

你是否也曾有这样的烦恼:

“这个Python数据分析脚本跑得不错,但怎么让非技术同事也能方便地使用?”“想做个简单的内部工具,但一想到要学HTML、CSS、JavaScript就头大…”“前后端联调太费时间了,能不能只用Python搞定一切?”

如果你有这些困扰,那么今天介绍的 NiceGUI 可能就是你的最佳解决方案。

一、NiceGUI:Python开发者的“前端翻译官”

什么是NiceGUI?

简单来说,NiceGUI 是一个纯Python的Web UI框架。它允许你只用Python代码就创建出功能完整、界面美观的Web应用程序。

想象一下:你像平时一样写Python函数,但这些函数可以直接变成网页上的按钮、输入框、图表。用户点击按钮时,你的Python函数自动执行,结果实时显示在网页上。

这听起来像魔法,但原理其实很聪明:NiceGUI在底层使用了成熟的Vue.js框架(通过Quasar),但把所有前端复杂性都封装起来了。你只需要调用Python函数,它自动生成对应的HTML/CSS/JavaScript。

为什么要选择NiceGUI?

  1. 学习成本极低:如果你会Python,几乎零学习成本
  2. 开发速度快:从想法到可交互网页,通常只需几分钟
  3. 无需环境配置:不依赖Node.js、Webpack等前端工具链
  4. 原型即产品:快速原型可以直接部署为生产应用

二、5分钟上手:构建你的第一个Web应用

让我们从一个简单的温度转换器开始,感受NiceGUI的魅力。

环境准备

只需要Python 3.7+和一行命令:

# 安装NiceGUIpip install nicegui

是的,就这么简单!不需要安装Node.js,不需要配置Webpack,不需要理解npm包管理。

代码实现

创建一个名为temperature_converter.py的文件:

from nicegui import ui# 1. 创建温度转换函数(纯Python逻辑)defcelsius_to_fahrenheit(celsius: float) -> float:"""将摄氏度转换为华氏度"""return (celsius * 9/5) + 32deffahrenheit_to_celsius(fahrenheit: float) -> float:"""将华氏度转换为摄氏度"""return (fahrenheit - 32) * 5/9# 2. 创建Web界面组件# 标题ui.label('🌡️ 温度转换器').classes('text-2xl font-bold text-blue-600')# 使用行布局,让两个输入框并排显示with ui.row().classes('w-full gap-4'):    celsius_input = ui.input(        label='摄氏度 (°C)',        placeholder='输入摄氏度数值',        validation={'请输入有效数字'lambda value: value == ''or value.replace('.'''1).isdigit()}    ).classes('w-48')    fahrenheit_input = ui.input(        label='华氏度 (°F)',        placeholder='输入华氏度数值',        validation={'请输入有效数字'lambda value: value == ''or value.replace('.'''1).isdigit()}    ).classes('w-48')# 3. 定义交互函数defupdate_fahrenheit():"""当摄氏度输入变化时,更新华氏度"""try:        celsius = float(celsius_input.value) if celsius_input.value else0        fahrenheit = celsius_to_fahrenheit(celsius)        fahrenheit_input.value = f'{fahrenheit:.2f}'except ValueError:# 输入无效时清空        fahrenheit_input.value = ''defupdate_celsius():"""当华氏度输入变化时,更新摄氏度"""try:        fahrenheit = float(fahrenheit_input.value) if fahrenheit_input.value else0        celsius = fahrenheit_to_celsius(fahrenheit)        celsius_input.value = f'{celsius:.2f}'except ValueError:        celsius_input.value = ''# 4. 绑定事件:实时转换(无需点击按钮)celsius_input.on('update:model-value'lambda e: update_fahrenheit())fahrenheit_input.on('update:model-value'lambda e: update_celsius())# 5. 添加说明卡片with ui.card().classes('mt-4 w-full'):    ui.label('💡 使用说明').classes('text-lg font-semibold')    ui.label('• 在任意输入框中输入温度值')    ui.label('• 另一输入框会自动实时转换')    ui.label('• 支持小数输入,自动保留两位小数')# 6. 运行应用ui.run(    title='温度转换器',    favicon='🌡️',    reload=True# 开发模式:代码修改后自动重载)

运行应用

python temperature_converter.py

打开浏览器访问 http://localhost:8080,你会看到一个功能完整的温度转换器!

关键点解析

  1. ui.input() :创建一个文本输入框,就像HTML的<input>标签
  2. .classes() :应用CSS类(使用Tailwind CSS语法),控制样式
  3. on() 方法 :绑定事件处理器,实现实时响应
  4. ui.row() :创建水平布局容器
  5. ui.card() :创建卡片式容器,增强视觉效果

三、进阶示例:实时字符计数器

让我们再来看一个更实用的例子,展示NiceGUI的响应式能力:

from nicegui import uifrom datetime import datetime# 创建响应式应用ui.label('📝 实时文本分析器').classes('text-2xl font-bold text-purple-600')# 创建文本输入区域text_area = ui.textarea(    label='请输入文本',    placeholder='开始输入,查看实时分析...',    on_change=lambda e: None# 占位,实际通过事件处理).classes('w-full h-40')# 创建指标显示卡片with ui.row().classes('w-full gap-4 mt-4'):    char_card = ui.card().classes('flex-1')with char_card:        ui.label('字符数').classes('text-sm text-gray-500')        char_count = ui.label('0').classes('text-3xl font-bold text-green-600')    word_card = ui.card().classes('flex-1')with word_card:        ui.label('单词数').classes('text-sm text-gray-500')        word_count = ui.label('0').classes('text-3xl font-bold text-blue-600')    line_card = ui.card().classes('flex-1')with line_card:        ui.label('行数').classes('text-sm text-gray-500')        line_count = ui.label('0').classes('text-3xl font-bold text-red-600')# 添加分析时间显示update_time = ui.label('最后更新: 尚未更新').classes('text-sm text-gray-400 mt-2')defanalyze_text(e):"""分析文本并更新所有指标"""    text = e.args if e.args else''# 计算各项指标    chars = len(text)    words = len(text.split()) if text.strip() else0    lines = text.count('\n') + 1if text else0# 更新显示(这就是数据绑定的魔力!)    char_count.set_text(str(chars))    word_count.set_text(str(words))    line_count.set_text(str(lines))# 更新最后分析时间    current_time = datetime.now().strftime('%H:%M:%S')    update_time.set_text(f'最后更新: {current_time}')# 根据字符数改变颜色提示if chars > 200:        char_count.classes(replace='text-3xl font-bold text-red-600')        ui.notify('文本较长,建议分段处理!', type='warning')elif chars > 100:        char_count.classes(replace='text-3xl font-bold text-yellow-600')else:        char_count.classes(replace='text-3xl font-bold text-green-600')# 绑定文本变化事件text_area.on('update:model-value', analyze_text)# 添加重置按钮defreset_text():    text_area.value = ''    analyze_text(type('Event', (), {'args'''})())ui.button('清空文本', on_click=reset_text, icon='delete').classes('mt-4')ui.run(title='文本分析器', port=8081)

这个例子展示了

  • 实时数据绑定:输入变化立即触发计算
  • 动态样式更新:根据字符数改变颜色
  • 通知系统:ui.notify() 显示提示
  • 组件组合:卡片、按钮、文本区域协同工作

四、NiceGUI的核心优势与实用技巧

1. 内置丰富组件,开箱即用

NiceGUI提供了大量预构建组件:

# 常用组件示例ui.button('点击我', on_click=lambda: ui.notify('按钮被点击了!'))ui.checkbox('同意条款', value=True)ui.select(['选项A''选项B''选项C'], label='请选择')ui.slider(min=0, max=100, value=50, label='音量')ui.toggle(['白天''黑夜'], value='白天')ui.upload(label='上传文件', on_upload=lambda e: ui.notify(f'上传了 {e.name}'))

2. 强大的布局系统

# 灵活布局示例with ui.column().classes('p-4 bg-gray-100 rounded-lg'):  # 垂直列    ui.label('用户信息').classes('text-xl')with ui.row().classes('items-center gap-4'):  # 水平行        ui.input('姓名').classes('flex-1')        ui.input('年龄').classes('w-24')with ui.grid(columns=2).classes('gap-2 mt-2'):  # 网格布局        ui.input('邮箱')        ui.input('电话')        ui.input('地址')        ui.input('城市')

3. 数据可视化集成

import matplotlib.pyplot as pltimport numpy as np# 创建Matplotlib图表fig, ax = plt.subplots()x = np.linspace(010100)ax.plot(x, np.sin(x), label='sin(x)')ax.plot(x, np.cos(x), label='cos(x)')ax.legend()# 在NiceGUI中显示ui.pyplot(fig)

4. 多页面应用支持

from nicegui import app# 页面1@ui.page('/')defhome():    ui.label('主页').classes('text-2xl')    ui.button('去关于页面', on_click=lambda: ui.open('/about'))# 页面2@ui.page('/about')defabout():    ui.label('关于我们').classes('text-2xl')    ui.button('返回主页', on_click=lambda: ui.open('/'))ui.run()

五、NiceGUI适合什么场景?

理想使用场景:

  1. 内部工具开发:数据查询工具、报表生成器、配置管理系统
  2. 原型快速验证:在投入前端开发前,先用NiceGUI验证产品想法
  3. 数据科学仪表盘:机器学习模型展示、数据分析可视化
  4. 物联网控制面板:智能家居控制、设备监控界面
  5. 教育和演示:算法可视化、交互式教学工具

可能需要考虑的场景:

  • 需要复杂前端交互的消费者级应用
  • 对SEO有高要求的公开网站
  • 需要深度定制UI设计系统的项目

六、NiceGUI vs 传统Web开发

我们对比一下实现同一个功能的不同方式:

功能需求
传统方式(Flask + HTML/JS)
NiceGUI方式
创建一个输入框
HTML: <input id="myInput">JS: 获取DOM元素并绑定事件
ui.input(label='输入')
实时显示输入长度
JS: 监听input事件,更新DOM
input.on('update:model-value', handler)
按钮点击处理
JS: 绑定click事件,通过Fetch API调用后端
ui.button(on_click=python_function)
样式调整
CSS: 编写样式规则
.classes('text-red-500 font-bold')
代码行数(估算)
50+行(3个文件)
15-20行(1个文件)

写在最后

NiceGUI 的强大之处在于它极大降低了Web开发的门槛,让Python开发者能够快速将想法转化为可交互的应用。无论是快速原型、内部工具,还是中小型Web应用,NiceGUI都能提供高效的解决方案。

但更重要的是,它代表了现代开发的一种趋势:开发者应该专注于业务逻辑,而不是重复的样板代码。NiceGUI处理了所有前端复杂性的“脏活”,让你回归到解决问题的本质。

Tips: NiceGUI官网: https://nicegui.io/ 有大量示例代码

你在什么场景下最需要这样的工具?是数据分析展示、内部管理系统,还是其他什么需求?欢迎在评论区分享你的想法和使用场景!

如果你觉得这篇文章有帮助,欢迎点赞、分享,让更多Python开发者知道这个效率神器!

🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉PythonMySQL数据分析数据可视化机器学习与数据挖掘爬虫等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 15:21:18 HTTP/2.0 GET : https://f.mffb.com.cn/a/493379.html
  2. 运行时间 : 0.357376s [ 吞吐率:2.80req/s ] 内存消耗:5,047.48kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d87d0c9990215d4b36117c3ecb4a3576
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000865s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001277s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011990s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000329s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000595s ]
  6. SELECT * FROM `set` [ RunTime:0.000242s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000560s ]
  8. SELECT * FROM `article` WHERE `id` = 493379 LIMIT 1 [ RunTime:0.006550s ]
  9. UPDATE `article` SET `lasttime` = 1783063279 WHERE `id` = 493379 [ RunTime:0.009300s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.003110s ]
  11. SELECT * FROM `article` WHERE `id` < 493379 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003146s ]
  12. SELECT * FROM `article` WHERE `id` > 493379 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003724s ]
  13. SELECT * FROM `article` WHERE `id` < 493379 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.028067s ]
  14. SELECT * FROM `article` WHERE `id` < 493379 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.031856s ]
  15. SELECT * FROM `article` WHERE `id` < 493379 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.074997s ]
0.358892s