星云小窝项目1.0——项目启动(二)

news2024/9/20 14:31:28

星云小窝项目1.0——项目启动(二)

文章目录

  • 前言
  • 1. 从Github从下载它
  • 2. 使用编辑器打开(以pycharm为例)
  • 2.1. 下载所需要的模块
  • 2.2. 配置mysql数据库
  • 2.3. 配置QQ邮箱发送验证码
  • 2.4. 修改代码
  • 3. 启动
  • 总结


前言

上一篇博客大致介绍了星云小窝这个网站,这篇博客将介绍一下如何启动它。


1. 从Github从下载它

我已经把源码发布在github上,有需要可自取:

xingyun-dev/xingyun-xiaowo

在这里插入图片描述

可以选择直接下载压缩包或用git拉取

2. 使用编辑器打开(以pycharm为例)

(我的python版本是python3.11)

在这里插入图片描述

2.1. 下载所需要的模块

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

2.2. 配置mysql数据库

补充,如何备份mysql数据库 (同时其sql文件我也放置于github上了)

参考文章 https://zhuanlan.zhihu.com/p/269983875

# flaskvue 是数据库名

# 导出所有数据库
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --all-databases >/tmp/full.sql

# 完整导出指定的数据库. 包括建库语句、表结构、数据
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --databases flaskvue > /tmp/flaskvue.sql

# 只导出数据库表结构,不包含数据
mysqldump -uroot -p --no-data --databases flaskvue > /tmp/flaskvue.sql

# 只导出数据,而不添加CREATE TABLE语句
mysqldump -uroot -p --no-create-info --databases flaskvue > /tmp/flaskvue.sql

# 导出数据库中指定表的数据和结构
mysqldump -uroot -p flaskvue --tables sc_admin users > /tmp/flaskvue.sql
mysqldump -uroot -p flaskvue sc_admin users > /tmp/flaskvue.sql

# 恢复导出数据
mysql -u username -p flaskvue < /tmp/flaskvue.sql   # 注意,数据库必须已经存在
mysql> source /tmp/maotiweb.sql     # 确认sql文件中是否有建库语句

在这里插入图片描述

有点问题,我发现导出的中文数据有些乱码;

所以我直接用MySQL Workbench导出
点击Sever 中的 “Data Export"

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

打开文件后,发现是正确编码的
在这里插入图片描述

之后就是新建一个数据库,将这个建表语句文件导入,创建表格

2.3. 配置QQ邮箱发送验证码

这里就不细讲了,网上也有许多教程。
参考:
https://zhuanlan.zhihu.com/p/664771819

2.4. 修改代码

连接数据库

app = Flask(__name__, static_url_path="/", static_folder="resource", template_folder="template")
app.config['SECRET_KEY'] = '3jhbhjkhkhj60gjgjhg3hjkkh13kj200501061538ghfhgkjg'
# app.config['SECRET_KEY'] = os.urandom(24)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://数据库的账号:密码@localhost:3306/数据库名?charset=utf8mb4'

在这里插入图片描述

连接邮箱


# 发送邮件验证码
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header


# 发送QQ邮箱验证码,参数为收件箱地址和随机生成的验证码
def send_email(receiver, ecode):
    # 邮箱账号和发件者签名
    sender = 'xxx <你的邮箱账号>'
    # 定义发送邮件的内容,支持HTML标签和CSS样式
    content = f"<br/>欢迎来到星云小窝,您的邮箱验证码为:<span style='color:red;font-size:20px;'>{ecode}</span>,请在4分钟内填写完成注册,如非本人操作,请忽略此邮件。"
    # 实例化邮件对象,并指定邮件的关键信息。
    message = MIMEText(content, 'html', 'utf-8')
    # 指定邮件的标题,同样使用utf-8编码
    message['Subject'] = Header('星云小窝注册验证码', 'utf-8')
    message['From'] = sender  # 指定发件人信息
    message['To'] = receiver  # 指定收件人邮箱地址

    smtpObj = SMTP_SSL('smtp.qq.com')  # 建立与QQ邮箱服务器的SSL连接
    # 通过邮箱账号和获取到的授权码登录邮箱服务器
    smtpObj.login('你的邮箱账号', '你的授权码')
    # 指定发件人、收件人和邮件内容
    smtpObj.sendmail(sender, receiver, str(message))
    smtpObj.quit()


# 生成6位随机字符串作为邮箱验证码
def gen_email_code():
    str = random.sample(string.ascii_letters + string.digits, 6)
    return ''.join(str)


在这里插入图片描述

3. 启动

打开终端

python .\wsgi.py

在这里插入图片描述

然后就能在本地打开指定端口号的网站了

在这里插入图片描述


总结

ok.至此项目就正常启动了,你也可以在此基础上再度创作,同时欢迎提出修改意见。

天远楼台横北固,夜深灯火见扬州。

–2024-3-22

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

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

相关文章

用户态和内核态:操作系统权限与运行模式解析

在现代计算机操作系统中&#xff0c;用户态&#xff08;User Mode&#xff09;和内核态&#xff08;Kernel Mode&#xff09;是两种重要的运行模式&#xff0c;用于区分用户程序与操作系统核心之间的权限和特权级别。深入理解这两种模式对于理解操作系统的工作原理至关重要。 …

发布文章积分自动增加

controller ApiOperation(value "添加文章")PostMapping("/addwengzhang")public String addwengzhang(RequestBody WengDto wengDto) {if (wengDto.getContent() null || wengDto.getTitle() null) {return "参数不可为空";}User user user…

CMakeLists生成动态库.so和静态库.a

一、下载NDK CMake - NDK : 26.2.11394342 或 23.1.7779620 - CMake : 3.22.1 二、新建android\app\CMakeLists.txt 文件CMakeLists.txt内容 cmake_minimum_required(VERSION 3.4.1) #mker为项目名称 project(mker)#设置生成的so动态库最后输出的路径 set(CMAKE_LIBRARY_OUTP…

【代驾+顺风车+货运】全开源双端APP代驾+顺风车+货运代驾小程序源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 一、详细介绍 系统是基于Thinkphpuniapp开发的&#xff0c;全开源未加密&#xff0c;这套源码可以拿回去自己做二开 后台用户端司机端 功能详情介绍&#xff1a; 车主实名认证&#xff0c;驾驶证认证&#xff0c;车…

阿里云OSS对象存储完全开发手册(一篇学会阿里云OSS所有知识点)

一、什么是OSS存储 阿里云对象存储OSS&#xff08;Object Storage Service&#xff09;是一款海量、安全、低成本、高可靠的云存储服务&#xff0c;可提供99.9999999999%&#xff08;12个9&#xff09;的数据持久性&#xff0c;99.995%的数据可用性。多种存储类型供选择&#…

生成可读取配置文件的独立运行jar程序

前言: 周五刚躺下,前线打来语音要个下载文件的小程序,下载路径和下载码需要根据配置获取,程序需要在服务器执行。当然配置的设计是个人设计的,不然每次更新下载码都要重新出具jar包,太麻烦。多年没写独立运行的jar包了,翻阅了相关资料,最终还是功夫不负有心人。想着这种…

计算机复试面试问答准备(未完)

目录 1、理解多态性2、怎么逆置⼀个链表3、顺序表和链表的区别4、树的存储结构5、什么是哈夫曼树&#xff1f;简述哈夫曼树的构造过程。介绍哈夫曼树的特性。6、哈夫曼编码的编码和解码过程7、图的遍历方式8、图的存储方式9、最小生成树10、迪杰斯特拉算法11、佛洛依德算法12、…

2024年3月26日 十二生肖 今日运势

小运播报&#xff1a;2024年3月26日&#xff0c;星期二&#xff0c;农历二月十七 &#xff08;甲辰年丁卯月己丑日&#xff09;&#xff0c;法定工作日。 红榜生肖&#xff1a;鸡、鼠、猴 需要注意&#xff1a;马、狗、羊 喜神方位&#xff1a;东北方 财神方位&#xff1a;…

修改网站源码,给电子商城的商品添加图片时商品id为0的原因

修改网站源码&#xff0c;给电子商城的商品添加图片时商品id为0的原因。花了几个小时查找原因。后来&#xff0c;由于PictureControl.class.php是复制CourseControl.class.php而来&#xff0c;于是对比了这两个文件&#xff0c;在CourseControl.class.php找到了不一样的关键几条…

GEE入门及进阶教程|在 Earth Engine 中绘制图像集合

在前面的内容中&#xff0c;我们计算了增强植被指数 (EVI)&#xff0c;以说明卫星图像上的波段运算&#xff0c;代码在单个图像上被调用一次。 如果我们想以相同的方式计算整个 ImageCollection 中的每个图像的 EVI&#xff0c;该怎么办&#xff1f;在这里&#xff0c;我们使用…

Java Swing游戏开发学习17

内容来自RyiSnow视频讲解 这一节讲的是Event(Damage Pit, Healing Pool, Teleport Tile)&#xff0c;直译&#xff1a;事件&#xff08;伤害深坑(类似陷阱吧)&#xff0c;治愈池&#xff0c;传送瓦片&#xff09; 事件&#xff08;陷阱【掉进去回掉血】&#xff0c;治愈池【可…

js获取cookie

js获取cookie 前言实现讲解特别注意&#xff1a; 前言 主要是通过document.cookie来进行实现的 实现讲解 首先通过document.cookie 来获取到所有的cookie 然后通过分号进行分割成list 然后循环list,将list中的字符串通过首个等号进行分割然后和指定的cookie名进行比对然后返…

浙政钉小程序加入埋点

研究好久&#xff0c;终于知道埋点怎么写了&#xff0c;我是使用原生写的&#xff0c;请参考&#xff01; 小程序埋点只需要添加稳定性监控代码&#xff08;Emas&#xff09;和流量分析代码(A) **稳定性监控代码&#xff08;Emas&#xff09;**只需要在首页加入。**流量分析代码…

关系型数据库mysql(6)备份与恢复

一.数据备份的重要性 &#xff08;1&#xff09;在生产环境中&#xff0c;数据的安全性至关重要 &#xff08;2&#xff09;任何数据的丢失都可能产生严重的后果 &#xff08;3&#xff09;造成数据丢失的原因 程序错误人为操作失误运算错误磁盘故障灾难&#xff08;如火灾…

Selenium 自动化 —— 切换浏览器窗口

更多内容请关注我的 Selenium 自动化 专栏&#xff1a; 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码浏览器窗口操作 平时我们在使用浏览器时&#xff0c;通常会打开多个窗口&#xff0c;然后再多个窗口中来回切换&#xf…

SuperGluePretrainedNetwork 详细解读

目录结构展示了SuperGluePretrainedNetwork项目的简化版布局。这是一个关于使用SuperGlue算法进行图像配对的深度学习项目&#xff0c;主要包括预训练的模型和执行配对的脚本。 demo_superglue.py demo_superglue.py脚本的主要作用是展示SuperGlue预训练网络在图像对上进行特征…

YZ系列工具之YZ09: VBA_Excel之读心术

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套一部VBA手册&#xff0c;教程分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的…

springboot项目学习-瑞吉外卖(4)

1.任务 这一节主要的任务是解决文件的上传和下载功能 2.文件上传 概念&#xff1a;将本地的图片上传到浏览器上面 点击文件上传&#xff0c;前端就会发送如上的请求&#xff0c;服务端应该根据URL和请求方法来处理请求 CommonController类&#xff1a; RestController Slf4j …

unity学习(66)——控制器Joystick Pack优化

Joystick Pack这种重力带惯性不利于正常开发。决定进行优化。有一种万事俱备只欠东风的感觉。 源代码如下&#xff1a; 1.在脚本中找到轮盘所输出的方向值 2.把方向的改变值加到鸣人模型身上。 2.1控制器脚本中添加model变量 2.2在unity中赋值 2.3代码中修改位置 using Syst…

咕炮课堂Java架构师课程

课程介绍 主要针对1到5年及以上工作经验的开发人员&#xff0c;提供互联网行业热门技术的Java架构师专题培训&#xff0c;由业内技术大牛&#xff0c;行业及实战经验丰富的讲师进行技术分享。内容涵盖redis,mongodb,dubbo,zookeeper,kafka 高并发、高可用、分布式、高性能、并…