热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

神级程序员花了十五天才把《FlaskWeb开发》总结

原标题:神级程序员花了十五天才把《FlaskWeb开发》总结!史上最全教程解决办法如下图:解决办法见下图:


原标题:神级程序员花了十五天才把《Flask Web开发》总结!史上最全教程


解决办法如下图:

解决办法见下图:

2.书本87页用shell插入新用户数据有bug

本问题在于数据库设计含有外键,直接按照书中插入代码,未插入用户角色外键,是无法插入数据的。

解决办法:删除User表和Role表之间的多对一关系

然后,删除项目中所有**.sqlite文件和migrations文件夹,具体如下:

然后按照下图所示三步,重新创建数据库(PS:此处方法见第5章5.11节):

这些处理完毕后,依照书上插入代码,依旧会报找不到User和db错误,解决办法如下:

完成以上数据插入任务后,在CMD控制台输入python manage.py runserver开启服务,浏览器中输入http://127.0.0.1:5000/auth/login,然后用插入的邮箱号和密码进行登陆,会得到如下结果:

4.书本92页执行一个新的数据库迁移

在CMD窗口中,依次输入python manage.py db migrate -m “the second migration”、python manage.py db upgrade命令,具体执行以及得到结果如下:

5.书本94页示例8-22代码因为Flask-Login版本问题出现如下图所示bug

解决办法见下图:

让我疑惑的是,我写笔记时看的是实体书,上面代码有问题,下面截图的是电子书,上面却是正确的>~<,具体如下:

问题解决方案网址(https://segmentfault.com/q/1010000004041497)

测试is_authenticated方法如下:

附加书本95页页面运行结果:

注:第8章主要讲解了如何使用Flask框架实现用户登陆、注册功能,以及使用邮箱进行用户注册确认以及密码修改确认等。感觉第8章内容就是对书本前7章内容的一次综合练习,所有使用的技术点都可以在前7章中找到。所以,个人感觉只要踏实把第8章所有代码以及实现思路弄懂,才算是刚刚入门Flask框架。

好了,既然Role表和User表之间有了一对多而存在的外键关系,那注册功能插入用户数据时,必须得要确认用户角色,否则无法插入。

刚刚进行了注册测试,竟然不用确定用户角色,也可以插入成功。这样的感觉违背了我学习数据库的理论知识啊,之前第5章,进行插入数据时,行不通,现在好了。估计是之前学习时,代码有点bug。

注:本章相当于主要在讲数据库的知识,和本书核心Flask框架的知识点联系不大,其中核心思想就是定义权限来分配角色等级。一个用户有的只有一种权限,有的可以有多种权限。权限的分配很灵活,这样处理操作大大简化了数据库的设计难度,也提高了数据的条理性。

管理员修改个人信息界面

显示用户头像的资料页面

注:本章主要实现博客系统普通用户和管理员角色的个人信息编辑功能实现,此处实现没有什么技术亮点和难点,只要认真完成书本前述部分,这部分功能完全没有障碍。

第11章 博客文章

1.有关书本119页示例11-8代码

本部分代码在作者GitHub上没有示例代码,即如果要实现导入虚拟数据测试功能,只能自己一个代码一个代码敲。不过,这个也太多了点,一个字母出错就要改错>~<。从作者GitHub上直接克隆下来的代码,虽然没有示例代码,但是应该是作者更新代码后,在此处换了另一种实现方式,因为在项目文件中出现了一个新的fake.py文件,该文件中代码和示例11-8代码基本类似。

注:本章是对博客系统功能的扩展,主要实现用户编辑发送博客文章,其中还可以使用MarkDown来实现对文章的编辑。功能具体实现参照书本的代码讲解即可,基本不会遇到什么较难的问题。

第12章 关注者

1.书本137页和142页实际运行结果

注:本章具体实现部分的难点是关注用户记录的数据库表的设计,即多对对关系会生成一张中间表。其它部分,按照书本上的代码来上机操作,基本不会遇到什么难点。

第13章 用户评论

1.书本148页和151页实际上机运行结果

注:本章主要实现博客的用户评论功能,以及添加了一个协管员权限,具体实现没有什么难点,按照书本的代码上机操作即可。

http://www.sohu.com/a/216839756_100033985


推荐阅读
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • oracle恢复失败,RMAN数据库恢复失败解决一例
    问题:这是一个从RAC环境的数据库的RAMN备份恢复到一个单机数据库的操作。当恢复数据文件和恢复正常,但在open数据库时出报下面的错误。--rman备 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
author-avatar
文竹a
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有