当前位置:   article > 正文

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

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

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


前言

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


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
  • 1

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文件中是否有建库语句

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在这里插入图片描述

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

所以我直接用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'
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

连接邮箱


# 发送邮件验证码
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)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述

3. 启动

打开终端

python .\wsgi.py
  • 1

在这里插入图片描述

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

在这里插入图片描述


总结

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

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

–2024-3-22

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/310144
推荐阅读
相关标签
  

闽ICP备14008679号