Flask Vue.js全栈开发|最新完整代码
Synopsis: Flask + Vue.js 全栈开发系列的 [最新代码] 会定时更新到本文的 [附件] 中,Github 上的代码只包含前面的部分
点击 [阅读全文],最新代码在本文末尾的 [附件] 中。一次购买,持久更新
测试地址: http://120.77.33.143
1. Flask Vue.js全栈开发教程系列
- Flask Vue.js全栈开发|第1章:创建第一个Flask RESTful API
- Flask Vue.js全栈开发|第2章:Vue.js通过axios访问Flask RESTful API
- Flask Vue.js全栈开发|第3章:Flask设计User用户相关API
- Flask Vue.js全栈开发|第4章:Vue.js调用API实现用户注册/登录/退出
- Flask Vue.js全栈开发|第5章:个人主页与用户头像
- Flask Vue.js全栈开发|第6章:博客文章CURD与Markdown
- Flask Vue.js全栈开发|第7章:粉丝关注大神
- Flask Vue.js全栈开发|第8章:单元测试
- Flask Vue.js全栈开发|第9章:用户评论
- Flask Vue.js全栈开发|第10章:用户通知
- Flask Vue.js全栈开发|第11章:私信
- Flask Vue.js全栈开发|第12章:黑名单
- Flask Vue.js全栈开发|第13章:喜欢文章
- Flask Vue.js全栈开发|第14章:邮件支持
- Flask Vue.js全栈开发|第15章:权限管理
- Flask Vue.js全栈开发|第16章:管理后台
- Flask Vue.js全栈开发|第17章:RQ实现后台任务
- Flask Vue.js全栈开发|第18章:Elasticsearch全文搜索
- Flask Vue.js全栈开发|第19章:国际化
- Flask Vue.js全栈开发|第20章:Linux云主机部署
- Flask Vue.js全栈开发|第21章:Docker容器部署
- Flask Vue.js全栈开发|第22章:(番外篇) 用 Flask-RESTful 插件实现 API
2. 如何使用
建议使用
Docker
容器运行,参考第 21 章节
2.1 下载最新代码
注意: 最新完整的代码在本文末尾的附件中,Github 上只包含部分代码
2.2 Backend
需要先安装 Elasticsearch 和 Redis
(1)提供 .env
文件
复制 back-end/.env.example
,并重命名为 back-end/.env
,然后修改里面的邮箱配置,具体参考:
未经允许不得转载: LIFE & SHARE - 王颜公子 » Flask Vue.js全栈开发|最新完整代码
46 条评论
评论者的用户名
评论时间Leuan12
2019-04-27T11:07:37Z我想知道买这个课程是多少钱呢
Leuan12
2019-04-27T11:07:39Z我想知道买这个课程是多少钱呢
Madman Leuan12 Author
2019-04-27T23:34:24Z全系列21章加上最新完整代码,一共90左右,现在充值有优惠哦。代码和配套教程都是我一行行敲的,码字不易多谢理解
heavenkiller2018 Madman
2019-05-03T03:14:33Z全买是多少钱来着?有会员什么的没,可以全看的,不用一个个充值的
Madman heavenkiller2018 Author
2019-05-03T04:35:37Z本系列是90左右,五一假期可以活动充80送20。
会员
是一对一指导前后端分离开发,包含整个网站免费阅读,价格私信或者微信详聊tuanyuan xiao
2019-05-13T08:40:08Z能不能发个.ENV 完整的~ 有些参数没有
tuanyuan xiao tuanyuan xiao
2019-05-13T08:44:23Zapp.config['LOG_TO_STDOUT']
这个值没找到
tuanyuan xiao tuanyuan xiao
2019-05-13T08:45:08Z找到了
JAYqq
2019-05-21T14:22:53Z怎样购买全部课程,只能一章一章买吗
Madman JAYqq Author
2019-06-12T10:03:46Z已经支持一次性购买整个系列了😁 https://madmalls.com/pay/buy-series-request/vuejs/
Madman JAYqq Author
2019-05-21T14:27:46Z一次性充值指定金额后,会赠送您部分金额。然后在网站浏览您喜欢的文章,点击文章尾部的 [阅读全文] 按钮进行购买即可,整个过程也就几秒钟时间啊
x7home
2019-07-07T12:06:23Z这套课程会增加实现文章购买和会员购买功能的章节吗?
Madman x7home Author
2019-07-08T00:56:14Z这个系列应该不会(因为是微型博客项目,主要目的是介绍Flask如何设计RESTful API,以及前端Vue.js交互),付费阅读只在我自己的网站代码有实现
cuojue
2020-03-08T11:20:38Z大佬,考虑增加上传图片和更换头像功能不
chenyou
2020-03-21T02:43:23Zsqlalchemy.exc.InvalidRequestError sqlalchemy.exc.InvalidRequestError: Table 'followers' is already defined for this MetaData instance. Specify 'extend_existing=True' to redefine options and columns on an existing Table object.
间隔性出现这个问题怎么解决? 翻了很多评论和google也没找到对应的解决办法
shishijia
2020-03-23T00:09:32Z执行flask db upgrade,报错
File "h:\python-code\code-20190813\back-end\venv\lib\site-packages\dotenv\main.py", line 81, in parse for line in f: UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 166: illegal multibyte sequence
Madman shishijia Author
2020-05-19T13:01:55Z可能是你的
.env
文件中有中文等注释字符,需要修改back-end/config.py
:Madman shishijia Author
2020-03-23T06:45:53Z检查 Python 版本,不是 Python 2.x
shishijia Madman
2020-03-23T10:59:26Z必须要安装python2.x吗,不能使用python3吗?
shishijia Madman
2020-03-23T07:41:22Zpython是3.7的
Ryan0v0
2020-05-19T10:36:54Z请问这个网址还可以访问吗 https://madblog.ga
Ryan0v0 Ryan0v0
2020-05-19T10:37:15Z似乎打不开
Madman Ryan0v0 Author
2020-05-19T12:57:57Z这个免费域名过期了,测试地址为: http://120.77.33.143
yushoujun
2020-05-20T08:57:40Z附件在哪,代码在哪
Madman yushoujun Author
2020-05-20T09:00:52Z点击 [阅读全文],最新代码在本文末尾的 [
附件
] 中。一次购买,持久更新bykoala
2020-08-02T12:54:12Z测试一下评论是否可删除
NathanZhang1104
2020-10-03T09:23:58Z除了rq worker没有成功,其他都照着做了,为啥打开http://localhost:8080是空白界面呢
Madman NathanZhang1104 Author
2020-10-03T10:52:12Z或者你可以阅读第20章或21章,有更详细的部署文档
chrisyuuuuu
2020-10-05T23:39:30Z阅读全文在哪呢
鸡排不进80不改名
2021-03-21T04:09:19Z已配置config.py的ADMINS、已注册管理员账号、已登录管理员账号,但是怎么激活账户呢?
Madman 鸡排不进80不改名 Author
2021-03-21T04:13:55Z按照本文说明操作先修改config中admin邮箱,再启动应用并使用此邮箱注册的话,自动激活并设置为管理员角色。如果你不是这么操作的,也可以直接修改数据库
鸡排不进80不改名 Madman
2021-03-21T04:44:17Z我将config.py中修改为ADMINS = ['我的邮箱@qq.com'],然后复制了.env并修改为
请问除此以外我还需要进行什么修改吗?为什么注册新账户也无法收到确认邮件呢?
Madman 鸡排不进80不改名 Author
2021-03-21T04:55:17Z14章
牛奶python
2021-08-11T14:29:01Z代码是2019年的,不是最新的。没有上传图片功能。
wuleiyzu
2021-10-12T03:22:00Z你好: 在本地测试时,迁移数据的时候
flask db update
,出现错误KeyError: 'REDIS_URL'
,我的配置是REDIS_URL='redis://127.0.0.1:6379/0'
没有修改。 本地已经安装了Redis是数据库,端口号6379没有错误,请问是出了什么问题呢?Madman wuleiyzu Author
2021-10-12T03:43:40Z应该是 back-end/app/init.py 第 37 行报错了:
没读到配置项,看一下
.env
配置文件的文件名是不是没有点号,python-dotenv 包有没有安装?wuleiyzu Madman
2021-10-12T03:59:26Z文件名是
.env.example
,通过pip list
查看python-dotenv
已经安装了。另外: 在配置 back-end/app/config.py 中, redis的url是
REDIS_URL = os.environ.get('REDIS_URL') or 'redis://'
。 在构造文件 back-end/app/init.py 中,配置函数是这样:Madman wuleiyzu Author
2021-10-12T04:06:41Z这篇文章 2.2 (1) 有说明,你没做吧:复制 back-end/.env.example,并重命名为 back-end/.env,然后修改里面的邮箱配置...
wuleiyzu Madman
2021-10-12T04:11:05Z抱歉抱歉,匆匆看了一下就直接使用了,改完就可以运行了,我去仔细看一下。谢谢博主。
wuleiyzu
2021-10-12T07:34:53Z你好,博主: 提交博客时,request 无法发送到 Flask API,出现错误:
Access to XMLHttpRequest at 'http://127.0.0.1:5000/api/posts' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
显示没有
Access-Control-Allow-Origin
请求头,是什么原因呢?Madman wuleiyzu Author
2021-10-12T13:51:44Z建议按顺序阅读本系列文章,跨域问题在第2章:https://madmalls.com/blog/post/axios-use-flask-api/#3-axios-api
flask-cros
默认允许所有跨域访问:https://flask-cors.corydolphin.com/en/latest/configuration.html#cors-default-values最新代码我重新部署过很多次一切正常,你可以启用 DEBUG 日志:https://flask-cors.corydolphin.com/en/latest/#troubleshooting
或者试试将 front-end/src/http.js 中
axios.defaults.baseURL = 'http://127.0.0.1:5000';
的127.0.0.1
替换为你服务器 IPwuleiyzu Madman
2021-10-13T04:55:28Z已经部署完成,并可以运行了,谢谢博主。
alex_
2021-10-25T06:19:08Z<button class="btn btn-block u-btn-outline-red g-rounded-50 g-py-12 g-mb-10" v-if="user.is_following && $route.params.id != sharedState.user_id" v-on:click="onUnfollowUser($route.params.id)"> Unfollow </button>
huboyan188
2022-06-21T02:17:31Z程序员不容易,花这么大代价,收16.8元,唉。祝好。
huboyan188
2022-06-21T02:54:15Z复制 back-end/.env.example,并重命名为 back-end/.env,根本做不到啊,windows提示必须有文件名,不能生成.env文件
zhangsan
2023-09-20T10:50:32Z我用的 是您最完整的代码部署的,注册用户时候报错: 不知道为什么 response = jsonify(user.to_dict()) 'role_name': Role.query.get_or_404(self.role_id).name,
完整信息如下: return self.view_functionsrule.endpoint File "D:\work\flask\fin\back-end\app\api\users.py", line 76, in create_user response = jsonify(user.to_dict()) File "D:\work\flask\fin\back-end\app\models.py", line 334, in to_dict 'role_name': Role.query.get_or_404(self.role_id).name, File "D:\work\flask\fin\back-end\venv\lib\site-packages\flask_sqlalchemy__init__.py", line 417, in get_or_404 rv = self.get(ident) File "D:\work\flask\fin\back-end\venv\lib\site-packages\sqlalchemy\orm\query.py", line 924, in get ident, loading.load_on_pk_identity) File "D:\work\flask\fin\back-end\venv\lib\site-packages\sqlalchemy\orm\query.py", line 985, in _get_impl if len(primary_key_identity) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len()