Python小白如何利用GPT4快速开发一个网站!

news2024/11/28 9:32:11

这个是一个全栈的项目,麻雀虽小,五脏俱全!全程都是利用gpt4进行辅助编程搞定的。第一版其实非常快,大概30分钟就搞定了,后续就是不断的添砖加瓦,增加功能和优化UI。

其实很多小白都在说要学Python,也想学Python,但是基本买了一本厚厚的书或者拿了一份资料之后就,开始啃,结果不到3周从入门到放弃,原因很简单,没有动力,也没有兴趣,一开始的激情就这样被几周消磨殆尽了!

eea7c3c5508ab1bb1d476652c91f6cb4.png

那么学习Python最好的方式是什么,就是实战!实战!实战!

你会把新华字典全部看完,再写作文吗?学习编程也是这样的,只要大概了解一下基本的语法就可以开始动手练习!然后在实战的过程不断学习,吸取知识!其实小伙伴都想做一个全栈的项目,现在有了gpt4可以非常方便的帮你搞定,而且是一个价格非常非常便宜的24小时服务没有怨言的老师。

好上面啰嗦了半天,开始写正经的内容。chatgpt4的功能非常强大,用来做辅助编程简直就是神兵利器啊,下面就分享一下我做的这个AI 取名网站,用Python搞定的,非常适合小白练手!

本项目适合小白,学生党,或者想学全栈的同学!

输入: http://cainiaopython.com/ 进行体验。

1.整个代码的框架

下面是我们整个代码的框架,是非常适合一个初学者练手的一个小项目,而且很有趣的。为了简单,容易上手,我们整个的开发都选择的兵器都是轻量级的,好上手的,因为我们本身就是开发的一个小的应用,杀鸡不需要牛刀。

767f6ec358437df802b07da41bd2336c.png

1.1).前端:前端3架马车是必须的,html+css+JS ,然后整个UI的框架我们选择bootstrap,这个框架也是非常有名的,很多网站都是用它来做UI。

1.2).后端:后端的框架也有很多可以选择,比如Flask,Django,FastAPI,Tornado(其中FastAPI的性能比较高,类似有点像Go).然后里面最有名的就是Flask和Django 二者又有千秋,如果小站快速开发,首选flask 它是非常轻量级的。

Django是企业级开发的,功能很全。后面会员群我们讲Python高级开发的时候会对这些框架进行深入介绍。这里我们选flask,因为我们这个网站算是很小的应用。

1.3).数据库:我这里选了2个数据库,为啥会选2个

原因是因为我们有页面之间的存储的数据临时需求,用redis这个内存数据库非常快而且很方便,而且使用起来也和简单。那为啥要用sqlite3,原因是因为我们要在页面增加一个历史查询记录的功能,如果我们的网站服务器重启了,或者程序reboot了,那么内存的数据库的数据就全部丢了。

但是用sqlite3可以很好的解决这个问题,这个是持久数据库(比起mysql,mongodb,sqlite3算是很轻量的适合小白上手)。

1.4).服务器部署:一般都是用gunicorn+nginx来配合使用的。

gunicorn是干嘛呢:

简单说提高网站的并发性能,它是一个Python WSGI HTTP服务器,用于服务Python Web应用。WSGI(Web Server Gateway Interface)是Python中用于链接Web服务器和Web应用的标准接口。

通常情况下,你可能会在开发环境中使用Flask或Django自带的服务器来运行你的Web应用,但在生产环境中,这样做可能会有性能问题。

Gunicorn就是为生产环境设计的,它能够处理更多的并发请求,并且能够与其他常见的Web服务器软件(例如Nginx)配合使用。

Gunicorn的工作原理是创建一个或多个工作进程(worker process),每个进程都可以独立地处理HTTP请求。通过这种方式,Gunicorn可以充分利用多核CPU的性能,处理大量的并发请求。

那nginx干嘛呢:

高性能的HTTP服务器和反向代理服务器,nginx可以作为一个web服务器运行,处理HTTP请求并返回静态文件(例如HTML、CSS、JavaScript、图片等)。Nginx可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器(例如Gunicorn、uWSGI等),然后将应用服务器的响应返回给客户端。在这种配置中,Nginx可以提供负载均衡和高可用性。

2.整个网站的业务逻辑图

说完了上面的技术栈之后,我们来说一下整个网站的技术逻辑图,就是在业务上是怎么跑的,逻辑上的单元模块是怎么样的。

bca7fc55da84a325e0459bcb39cc6a52.png

用户点击网页,然后开始输入数据之后,就会提交表单到后端,后端的flask框架会进行路由获取用户的数据,然后我们会对数据进行清洗和组装,然后把数据发送给chatgpt。这里我们用的是api请求的方式发给chatgpt ,然后我们拿到的chatgpt resp之后把数据结构解析,然后获取起名的内容,最后动态渲染前端网页的模版。

整个的流程就是这样的,其实很多网站都是干这样的事情,业内人士说的对数据库的增删改查,我们这里也有数据库。上面两个数据库,一个是内存数据库redis,一个是sqlit3都是用来查询数据的,只是用法不一样,我会在后端篇详细解释一下。

限于篇幅,我就不一一展开了,我们会在我们星球里面详细的讲解这个项目的开发过程,然后提供源码,有兴趣的同学可以速来!


最后推荐一下我们的会员群,目前有风投天使投资人,猎头HR,抖音大V,情感博主,律师,心理咨询师,医疗销售,地产,保险,钢琴老师,运营商,企业咨询,跨境电商,建筑,互联网行业的数据分析师,后端开发,python测试等行业的同学加入。

微信咨询:coder_v5 (务必备注你的来意)

性价比超高的星球

目前星球420+人,专栏的内容秘籍已经更新了41篇,每天都有星球发布自己心得。只花一份钱可以学:

Python : python 入门课程44节+Django专栏9节+趣味实战案例

chatgpt :入门,进阶,趣味办公,高级课程

AI绘画:Mj的基础,入门,进阶,小红书玩法

如果你想学Python,又想学ChatGPT,又想学AI绘画,只想花一份钱欢迎加入我们星球会员群,还能认识很多牛人!

加入就送ChatGPT独立账号

91e619300fc8600bd0cc293323f9b609.jpeg

另外还送ChatGPT高级视频课程

原价99,现在免费送星球会员

916eebba1306c48d1c3f861c9f640412.jpeg

微信长按试看内容

三天内不满意可直接退款!!!

112db3cc8364f11b3b3539baf0bad513.png

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python扩展库需要导入吗?重要性与结论解析

Python扩展库需要导入吗?重要性与结论解析 作为业内最受欢迎的编程语言之一,Python在数据科学、人工智能、Web开发等领域拥有大量的应用。在Python开发过程中,扩展库的使用是不可避免的。本文将介绍Python扩展库的重要性以及是否需要导入的问…

【Arduino】Portenta H7 板子介绍

文章目录 1. Features2. Pins Name3. Functions3.1 analogReadResolution()3.2 millis() Ref. 1. Features 2. Pins Name 3. Functions 3.1 analogReadResolution() analogReadResolution() is an extension of the Analog API for the Zero, Due, MKR family, Nano 33 (BLE …

vue3-实战-10-管理后台-权限管理之用户管理模块开发

目录 1-用户首页列表开发 1.1-需求原型分析 1.2-封装请求和数据类型 1.3-数据页面渲染和展示 1.4-点击搜索按钮搜索用户 1.5-点击重置按钮 2-新增编辑用户 2.1-原型需求分析 2.2-表单页面数据收集 2.3-页面校验规则的定义 2.4-添加用户按钮编辑按钮逻辑 2.5-保存和取…

C++个人通信录系统

背景: 使用C编写一个通信录程序,来完成作业上的一些需求。 1-提供录入个人信息、修改个人信息(姓名和出生日期除外)、删除个人信息等编辑功能 2-提供按姓名查询个人信息的功能 3-提供查找在5天之内过生日的人员的信息&#xf…

Gof23设计模式之工厂方法模式和抽象工厂模式

在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。 如果我们…

机器学习之K-Means(k均值)算法

1 K-Means介绍 K-Means算法又称K均值算法,属于聚类(clustering)算法的一种,是应用最广泛的聚类算法之一。所谓聚类,即根据相似性原则,将具有较高相似度的数据对象划分至同一类簇,将具有较高相异…

NDK使用LLVM编译Boost库给Android使用

1.下载boost库 ​ wget https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.gz​ 选择1.71.0版本 NDK版本19 ,ANDROID版本 24 进入然后后的目录 (不指定平台 默认为当前系统平台) ./bootstrap.sh --prefix=./android_build --libdir=.…

Java---阶段项目----五子棋

Java---阶段项目----五子棋 需求说明技术实现棋盘制作完整代码 需求说明 五子棋棋盘为一个1010的方格,五子棋玩家共为两个(A,B),A在棋盘上落子后,B再落子,依次往复,直到一方胜利或者棋盘空间用完为止,判断…

StarCCM+ 命令行运行(Windows)

添加环境变量 找到启动程序的位置。找到当初安装starccm的文件夹,一般就是 Siemens 文件夹,进入会看到各版本的安装文件夹(如果你没有安装多个版本则只有一个),然后参考下面我的路径找到相应的文件夹。在bin文件夹内可…

【openGauss简单使用---快速入门】

【openGauss简单使用---快速入门】 🔻 一、openGauss使用🔰 1.1 连接openGauss🔰 1.2 创建数据库用户和授权🔰 1.3 创建数据库🔰 1.4 创建SCHEMA🔰 1.5 创建表 🔻 二、总结—温故知新 &#x1f…

信息系统之网络安全方案 — “3保1评”

信息系统之网络安全方案 — “3保1评” 序:什么是“3评1保”?一、网络安全等级保护1.1 概念1.2等保发展1.3法律要求1.4分级及工作流程 二、涉密信息系统分级保护2.1概念2.2法律要求2.3分级及工作流程 三、关键信息基础设施保护3.1概念3.2关保的发展3.3法…

建立和使用Python自定义模块:打包+pip安装

文章目录 (零)拷目录-无法卸载(一)打包结构(1.1)__init__.py(1.2)setup.py (二)开始打包(2.1)命令出错? (三&a…

构建高可用、高并发和高性能的微服务系统(Spring Cloud实现)

目前Java都在流行一个说词:高并发。 反正不管是不是,反正就是高并发。 谈高并发,我们需要知道几个名词: -响应时间(Response Time,RT)-吞吐量(Throughput)-每秒查询率QPS(Query Per Second)-每秒事务处理量TPS(Transa…

SuiteQlet Bundle

Content​​​​​​​ 1. Foreword 2. Overview 2.1 Glossary 2.2 Features 2.3 Design Description 3. Install 4. Setup 5. Instruction 5.1 Query 5.2 Chart 5.3 Publish Dashboard 6. Note 7. Video Link 1. Foreword SuiteQL is a powerful tool for data q…

python 第八章 集合set {}

系列文章目录 第一章 初识python 第二章 变量 第三章 基础语句 第四章 字符串str 第五章 列表list [] 第六章 元组tuple ( ) 第七章 字典dict {} 文章目录 8.1 创建集合8.2集合常见操作方法增加数据删除数据查找数据 8.1 创建集合 创建集合使用 { } 或 set(),但是如…

【MySQL】增删查改基础

目录 一、Create(创建) 1、insert(插入) 1.1单行数据插入 1.2多行数据插入 1.3插入或者替换更新 2、replace(替换) 二、Retrieve(读取) 1、select 1.1全列查询 1.2指定列查询利用selsct计算表达式 1.3筛选结果去重 2、where 2.1运算符 2.2找到英语小于60分的同学…

RFID课程要点总结_4 Tag Identification Protocol

4. Tag Identification Protocol Checksum procedure: parity checks, LRC, CRC 奇偶校验不多说,查1的个数,poor error recognition。电路通过所有位异或是偶校验,结果为1说明有错误;再取反是奇校验。 LRC longitudinal redund…

02 React组件、React组件实例的三大核心属性

总结 一、React组件 1.1 函数组件 定义 要求组件名称的首字母需要大写 function 组件名称(){ // 返回一段jsx的视图结构 return <div></div> }调用 <组件名称></组件名称> 或 <组件名称 /> 组件名首字母必须大写. 因为react以此来区分组件元…

一、动画 - 过渡效果transition

内容目录&#xff1a; 过渡动画&#xff1b;过渡动画的属性&#xff1b; 一、过渡动画 过渡&#xff08;transition&#xff09;作用&#xff1a;- 通过过渡可以指定一个属性发生变化时的切换方式- 通过过渡可以创建一些非常好的效果&#xff0c;提升用户的体验现在我们通过一…

nginx的操作手册和nginx的升级

总结 目录 一首先关闭防火墙和下载nginx包 1.安装依赖包 2.创建运行用户与组 3.进入nginx的目录下进行编译安装 4. 编译和编译安装 5.让系统识别nginx的操作命令 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 6.添加nginx系统服务把nginx服务加入到…