Skip to content
This repository has been archived by the owner on Oct 31, 2022. It is now read-only.

搭建指南 #10

Open
zzjoey opened this issue Sep 23, 2019 · 53 comments
Open

搭建指南 #10

zzjoey opened this issue Sep 23, 2019 · 53 comments

Comments

@zzjoey
Copy link
Owner

zzjoey commented Sep 23, 2019

  1. 下载并安装MySQL,记住设置的MySQL密码(默认用户名root)

  2. 使用 init.sql 创建数据表,并插入demo数据

  3. 安装依赖

pip install flask mysql-connector pymysql sqlalchemy flask-SQLalchemy werkzeug

windows还需安装mysql-python 安装MySQL和Flask-SQLAlchemy

  1. 配置后端连接

RESTful_backend.py 中修改第15行 配置数据库连接

例:用户名root,密码123456,数据库建立在本地,端口3306,数据库名为leava

mysql_connect_url = 'mysql+mysqlconnector://root:123456@localhost:3306/leava?auth_plugin=mysql_native_password'

  1. 在微信web开发者工具中新建小程序项目,选择空目录创建并复制粘贴 frontend 中文件

  2. 完成

测试账号:

学生:100000001, 100000002, 100000003
教师:100001, 100002
密码都是123456

@deft2019
Copy link

数据库建好了,后台直接在pycharm运行了,为什么还是连接不上...博主方便帮忙看看吗

@deft2019
Copy link

image

@deft2019
Copy link

image

@zzjoey
Copy link
Owner Author

zzjoey commented Sep 23, 2019

无法登陆,问题出在数据库中没有字段上
需要先在数据库学生表中新建一条,student_id字段是9位学生学号(第56行),教师号是6位(通过6位和9位来区分学生/ 老师,查不同的表),passwd字段是hash过之后的密码(可以使用werkzeug.security中generate_password_hash来实现)
比如:

  • student_id:202160101
  • name: 张三
  • s_class: CS1
  • passwd: hash后的密码
  • room: 101

建完后在前端输入id和密码,匹配后会登陆

@deft2019
Copy link

deft2019 commented Sep 24, 2019 via email

@zzjoey
Copy link
Owner Author

zzjoey commented Sep 25, 2019

好的 谢谢 我再试一下 应该是我的数据库问题 数据库没学好 我是新手

------------------ 原始邮件 ------------------ 发件人: "Joey"notifications@github.com; 发送时间: 2019年9月23日(星期一) 晚上10:38 收件人: "joey66666/Leava"Leava@noreply.github.com; 抄送: "君丶 行"2252022902@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [joey66666/Leava] 搭建指南 (#10) 无法登陆,问题出在数据库中没有字段上 需要先在数据库学生表中新建一条,student_id字段是9位学生学号(第56行),教师号是6位(通过6位和9位来区分学生/ 老师,查不同的表),passwd字段是hash过之后的密码(可以使用werkzeug.security中generate_password_hash来实现) 比如: student_id:202160101 name: 张三 s_class: CS1 passwd: hash后的密码 room: 101 建完后在前端输入id和密码,匹配后会登陆 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

没关系的,慢慢来

@bob8168907
Copy link

image

@bob8168907
Copy link

后台直接在pycharm运行了,在浏览器会报错呢

@bob8168907
Copy link

image
前端样式不太对

@zzjoey
Copy link
Owner Author

zzjoey commented Oct 23, 2019

image
前端样式不太对

手动修改看看

@Ayingaying
Copy link

image
这两个问题如何解决呢?

@zzjoey
Copy link
Owner Author

zzjoey commented Jan 24, 2020

image
这两个问题如何解决呢?

  1. 第一个是因为上传图片用到了微信云服务,所以要先开通;
  2. 后端没有启动/响应

@Ayingaying
Copy link

能加下微信吗?可以交流交流

@huangyiyu
Copy link

O25E44 BSU9 ({3)__XPC6R

@huangyiyu
Copy link

第一和第二个问题怎么解决,博主

@huangyiyu
Copy link

能加个联系方式也行,QQ:2502520443,谢谢!!!

@huangyiyu
Copy link

第一个解决了,但是第二个查了挺多资料,都不懂怎么解决,怎么弄?

@zzjoey
Copy link
Owner Author

zzjoey commented Apr 17, 2020

第一个解决了,但是第二个查了挺多资料,都不懂怎么解决,怎么弄?

  • 第一个是图床到期,更新一下图片就行
  • 第二个是后端服务没有启动,请求不到
    image
    按照这里步骤4后端配置完之后要把python程序运行起来

@huangyiyu
Copy link

好的,我去试一下!

@huangyiyu
Copy link

huangyiyu commented Apr 17, 2020 via email

@hellolsk
Copy link

好的,我去试一下!
我也遇到了无法登陆的问题,我的原因是传入的密码字段是需要加密的,可以参考
db_name = db_data['name'] db_pwd = db_data['passwd'] **db_pwd = generate_password_hash(str(db_pwd))** db_role = db_data['role'] db_school = db_data['school']
不过后面的其他一些功能好像也有些问题,最后跟着提示硬着头皮改好了。

@huangyiyu
Copy link

huangyiyu commented Apr 18, 2020 via email

@huangyiyu
Copy link

huangyiyu commented Apr 20, 2020 via email

@hellolsk
Copy link

再次打扰,兄弟,你弄得怎么样了?我弄了老半天还是不行,就是一直在第二点那里提示错误

------------------ 原始邮件 ------------------ 发件人: "⚆_⚆"<2502520443@qq.com>; 发送时间: 2020年4月19日(星期天) 凌晨0:25 收件人: "joey66666/Leava"<reply@reply.github.com>; 主题: 回复: [joey66666/Leava] 搭建指南 (#10) 我也在尝试,不过还是没能成功。
------------------ 原始邮件 ------------------ 发件人: "hellolsk"<notifications@github.com>; 发送时间: 2020年4月18日(星期六) 晚上10:44 收件人: "joey66666/Leava"<Leava@noreply.github.com>; 抄送: "⚆_⚆"<2502520443@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [joey66666/Leava] 搭建指南 (#10) 好的,我去试一下! 我也遇到了无法登陆的问题,我的原因是传入的密码字段是需要加密的,可以参考 db_name = db_data['name'] db_pwd = db_data['passwd'] db_pwd = generate_password_hash(str(db_pwd)) db_role = db_data['role'] db_school = db_data['school'] 不过后面的其他一些功能好像也有些问题,最后跟着提示硬着头皮改好了。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

密码字段你加密了没有?db_pwd = generate_password_hash(str(db_pwd))

@huangyiyu
Copy link

huangyiyu commented Apr 20, 2020 via email

@hellolsk
Copy link

那数据库有字段应该就可以登陆进取啊

@huangyiyu
Copy link

huangyiyu commented Apr 20, 2020 via email

@hellolsk
Copy link

数据库,我也加了,但是还是出现这个错误,不知道为什么?你在你的电脑上可以运行成功?

------------------ 原始邮件 ------------------ 发件人: "hellolsk"<notifications@github.com>; 发送时间: 2020年4月20日(星期一) 晚上7:16 收件人: "joey66666/Leava"<Leava@noreply.github.com>; 抄送: "⚆_⚆"<2502520443@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [joey66666/Leava] 搭建指南 (#10) 那数据库有字段应该就可以登陆进取啊 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

加了你的好友,可以看下

@pearandli
Copy link

pearandli commented Jun 29, 2020

你好,我运行后端程序如下显示:
` * Serving Flask app "test" (lazy loading)

  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
  • Debug mode: on
  • Restarting with stat`
    到这就停止了,看上去服务没起来,请问是什么原因?

@zzjoey
Copy link
Owner Author

zzjoey commented Jun 29, 2020

你好,我运行后端程序如下显示:
` * Serving Flask app "test" (lazy loading)

  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
  • Debug mode: on
  • Restarting with stat`
    到这就停止了,看上去服务没起来,请问是什么原因?

这是后端服务正常启动了,按格式请求API会有响应

@pearandli
Copy link

你好,我运行后端程序如下显示:
` * Serving Flask app "test" (lazy loading)

  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
  • Debug mode: on
  • Restarting with stat`
    到这就停止了,看上去服务没起来,请问是什么原因?

这是后端服务正常启动了,按格式请求API会有响应

可是我运行python之后,按照你上面说的方法建了student字段,密码也是输入的hash过后的,在小程序里登录还是会提示
POST http://127.0.0.1/login net::ERR_CONNECTION_REFUSED

@hellolsk
Copy link

hellolsk commented Jun 30, 2020 via email

@pearandli
Copy link

请求的url加上端口试试,比如8080

还是不行,我运行python后端的时候他没有显示running on http://0.0.0.0:8080/(press CTRL+C to quit),是后端没跑起来吗

@zzjoey
Copy link
Owner Author

zzjoey commented Jun 30, 2020

请求的url加上端口试试,比如8080

还是不行,我运行python后端的时候他没有显示running on http://0.0.0.0:8080/(press CTRL+C to quit),是后端没跑起来吗

  • 可以看一下前后端交互的基础知识,什么是ip,端口,如何请求
  • net::ERR_CONNECTION_REFUSED这个问题把后端代码652行中port=8080改成port=80应该可以解决

Repository owner deleted a comment from hellolsk Jun 30, 2020
@ertyig
Copy link

ertyig commented Apr 16, 2021

你好,我想问一下,这个问题怎么解决,谢谢
屏幕截图 2021-04-16 114147
屏幕截图 2021-04-16 114207

@zzjoey
Copy link
Owner Author

zzjoey commented Apr 16, 2021

你好,我想问一下,这个问题怎么解决,谢谢
屏幕截图 2021-04-16 114147
屏幕截图 2021-04-16 114207

函数重名,已经fix

@ertyig
Copy link

ertyig commented Apr 16, 2021

你好,我想问一下,这个问题怎么解决,谢谢
屏幕截图 2021-04-16 114147
屏幕截图 2021-04-16 114207

函数重名,已经fix

谢谢!

@ertyig
Copy link

ertyig commented Apr 18, 2021

你好,当我提交请假时,后端出现这个警告,不知是什么原因,谢谢
屏幕截图 2021-04-18 132911

@zzjoey
Copy link
Owner Author

zzjoey commented Apr 18, 2021

你好,当我提交请假时,后端出现这个警告,不知是什么原因,谢谢
屏幕截图 2021-04-18 132911

看上去是数据库问题,leave_num字段是主键,在数据库中不能存null,但是没有传值进去

@ertyig
Copy link

ertyig commented Apr 19, 2021

你好,当我提交请假时,后端出现这个警告,不知是什么原因,谢谢
屏幕截图 2021-04-18 132911

看上去是数据库问题,leave_num字段是主键,在数据库中不能存null,但是没有传值进去

将leave类中的 leave_num = db.Column(db.DECIMAL(65), primary_key=True) 修改为 leave_num = db.Column(db.Integer, primary_key=True) 解决问题。

@zzjoey
Copy link
Owner Author

zzjoey commented Apr 19, 2021

你好,当我提交请假时,后端出现这个警告,不知是什么原因,谢谢
屏幕截图 2021-04-18 132911

看上去是数据库问题,leave_num字段是主键,在数据库中不能存null,但是没有传值进去

将leave类中的 leave_num = db.Column(db.DECIMAL(65), primary_key=True) 修改为 leave_num = db.Column(db.Integer, primary_key=True) 解决问题。

Thanks for reply and congrats on fixing the problem.

@ertyig
Copy link

ertyig commented May 1, 2021

屏幕截图 2021-05-01 174956
您好,当我今天上传请假数据时,突然无法上传,前后端并没有报错,一时无从下手,请问是什么原因,谢谢

@ertyig
Copy link

ertyig commented May 1, 2021

突然又可以上传了,但是不清楚不能上传的原因

屏幕截图 2021-05-01 174956
您好,当我今天上传请假数据时,突然无法上传,前后端并没有报错,一时无从下手,请问是什么原因,谢谢

突然又可以上传了,但是不清楚不能上传的原因

@zzjoey
Copy link
Owner Author

zzjoey commented May 1, 2021

突然又可以上传了,但是不清楚不能上传的原因

屏幕截图 2021-05-01 174956
您好,当我今天上传请假数据时,突然无法上传,前后端并没有报错,一时无从下手,请问是什么原因,谢谢

突然又可以上传了,但是不清楚不能上传的原因

errMsg显示上传成功,statusCode: 204,无内容。似乎是微信云开发的问题

@RichardCRF
Copy link

日常催更大神写一个数据库搭建教程

@fuheihei
Copy link
Contributor

日常催更大神写一个数据库搭建教程

https://cuiqingcai.com/5200.html 崔庆才这个mysql的不错,可以看下

@RichardCRF
Copy link

求问api中ask_leave函数,插入数据库时,没有将leave_num插入,导致提交请假申请失败,求问解决方法

@zzjoey
Copy link
Owner Author

zzjoey commented Jun 9, 2021

日常催更大神写一个数据库搭建教程

已更新 sql 脚本,一键建表 https://github.com/zzjoey/Leava/blob/master/backend/init.sql

@zhkyaaa
Copy link

zhkyaaa commented Jun 17, 2021

你好,请问一下我在运行完后端代码后,前端随便输入一个账号和密码,都会报错说
image
后端框架运行起来了,这是什么原因呢

@zzjoey
Copy link
Owner Author

zzjoey commented Jun 17, 2021

你好,请问一下我在运行完后端代码后,前端随便输入一个账号和密码,都会报错说
image
后端框架运行起来了,这是什么原因呢

404是没有访问到后端,看一下后端有没有正常启动或能不能正常访问

@zhkyaaa
Copy link

zhkyaaa commented Jun 18, 2021

你好,当我提交请假时,后端出现这个警告,不知是什么原因,谢谢
屏幕截图 2021-04-18 132911

看上去是数据库问题,leave_num字段是主键,在数据库中不能存null,但是没有传值进去

将leave类中的 leave_num = db.Column(db.DECIMAL(65), primary_key=True) 修改为 leave_num = db.Column(db.Integer, primary_key=True) 解决问题。

你好,我遇到了关于数据库的问题,可以方便交流一下吗

@zhkyaaa
Copy link

zhkyaaa commented Jun 18, 2021

你好,请问一下我在运行完后端代码后,前端随便输入一个账号和密码,都会报错说
image
后端框架运行起来了,这是什么原因呢

404是没有访问到后端,看一下后端有没有正常启动或能不能正常访问

在前端加入地址的端口后第一个可以正常访问,但是无法正常访问消息界面,在search-leave加入端口后错误从404变成500,后端提示应该是数据库的问题,
image
image
(mysql.connector.errors.ProgrammingError) 1054 (42S22): Unknown column 'leave.start_time' in 'field list' [SQL: 'SELECT leave.leave_num AS leave_leave_num, leave.student_id AS leave_student_id, leave.start_time AS leave_start_time, leave.end_time AS leave_end_time, leave.reason AS leave_reason, leave.flag AS leave_flag, leave.teacher1_id AS leave_teacher1_id, leave.teacher2_id AS leave_teacher2_id, leave.type AS leave_type, leave.ensure AS leave_ensure \nFROM leave \nWHERE leave.student_id = %(student_id_1)s'] [parameters: {'student_id_1': 100000001}]
似乎是都没有在数据库访问到

@zzjoey
Copy link
Owner Author

zzjoey commented Jun 22, 2021

你好,请问一下我在运行完后端代码后,前端随便输入一个账号和密码,都会报错说
image
后端框架运行起来了,这是什么原因呢

404是没有访问到后端,看一下后端有没有正常启动或能不能正常访问

在前端加入地址的端口后第一个可以正常访问,但是无法正常访问消息界面,在search-leave加入端口后错误从404变成500,后端提示应该是数据库的问题,
image
image
(mysql.connector.errors.ProgrammingError) 1054 (42S22): Unknown column 'leave.start_time' in 'field list' [SQL: 'SELECT leave.leave_num AS leave_leave_num, leave.student_id AS leave_student_id, leave.start_time AS leave_start_time, leave.end_time AS leave_end_time, leave.reason AS leave_reason, leave.flag AS leave_flag, leave.teacher1_id AS leave_teacher1_id, leave.teacher2_id AS leave_teacher2_id, leave.type AS leave_type, leave.ensure AS leave_ensure \nFROM leave \nWHERE leave.student_id = %(student_id_1)s'] [parameters: {'student_id_1': 100000001}]
似乎是都没有在数据库访问到

pull一下新代码,用新的init.sql重新初始化一下数据库

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests