摘要: 配套视频教程 本文B站配套视频教程 本章将使用适合大型应用程序的样式重新构建应用程序。 目前Microblog已是一个体面的应用程序了,所以此刻是讨论一个Flask应用程序如何成长而不会变得混乱或太难管理的时机了。Flask是一个框架,旨在为我们提供以想要的任何方式组织项目的选项,并且作为这个理念的 阅读全文
posted @ 2020-10-21 14:21 [豆约翰] 阅读(1696) 评论(0) 推荐(1) 编辑
摘要: 配套视频教程 本文B站配套视频教程 PS:获取百度翻译API的appid和secretKey的过程在此略过,请参考文档。 因此,本章将学习到如何 使用百度翻译服务和一些JavaScript脚本,添加实时语言翻译功能。 本文将离开服务端开发的“安全区域”,而开发具有同样重要性的 服务器和客户端组件。你 阅读全文
posted @ 2020-10-21 14:17 [豆约翰] 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将学习如何扩展Microblog以支持多种语言。作为该工作的一部分,将学习向flask命令 建立自己CLI扩展。 l18n,是Internationalization的缩写,即首末字符i和n,18为中间的字符数,译作 软件国际化,是一个代码修改的过程,以实现代 阅读全文
posted @ 2020-10-21 14:16 [豆约翰] 阅读(1083) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将学习如何以适合所有用户的方式使用日期和时间,无论他们身居何处。 目前为止,一直忽略Microblog应用程序显示日期和时间的问题,只是让Python渲染了User模型中的datetime对象,并完全忽略Post模型中的datetime对象。 时区“地狱” 在 阅读全文
posted @ 2020-10-21 14:15 [豆约翰] 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将学习基于Bootstrap用户界面框架的模板替换基础的HTML模板。 这个Microblog应用程序已有一段时间了,或许已经注意到,并没有花时间来美化它的页面。所有的模板是使用的基础样式,没有自定义样式。这对于我们来说非常有用,可以专注于应用程序的实际逻辑, 阅读全文
posted @ 2020-10-21 14:13 [豆约翰] 阅读(2066) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将学习应用程序如何向用户发送电子邮件,以及如何在电子邮件支持下构建密码修改功能。 目前在数据库方面做得很好了,所以在本章将脱离该主题并添加大多数Web应用程序需要另一个重要部分,即 发送电子邮件。 为何需要向用户发送电子邮件?原因很多,一个常见的原因是解决与身 阅读全文
posted @ 2020-10-21 14:12 [豆约翰] 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 这章将学习如何对数据库中条目列表进行分页。 在上一节,进行了一些必要的数据库更改,以支持社交网络大受欢迎的“关注”功能。有了这个功能,我们准备删除最后一块脚手架,那就是一开始放置的“假”帖子。在这一章,应用程序将开始接受用户的博客帖子,并在 /index页面和个人 阅读全文
posted @ 2020-10-21 14:11 [豆约翰] 阅读(1259) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 这章将学习如何实现类似于Twitter和其他社交网络的“粉丝”或“关注”,比如关注你。 接下来,将更多介绍应用程序的数据库。让用户能够轻松选择Ta们想要关注的其他用户。因此,将扩展数据库,以便跟踪谁在关注(粉)谁。 重访数据库关系 我想每一个用户维护一个“关注”和 阅读全文
posted @ 2020-10-21 14:09 [豆约翰] 阅读(1511) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将学习到:如何在Flask应用程序中进行错误处理(策略)。 这里将暂时停止为microblog添加新功能,而是讨论处理bug的策略,因为它们可能总是无处不在。为了帮助说明此主题,故意在上一节的代码中遗留一个bug。等待着我们去发现它。 在Flask中的错误处理 阅读全文
posted @ 2020-10-21 14:08 [豆约翰] 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 本章将专门用于给应用程序添加用户个人资料页面。用户个人资料页面呈现的是关于用户信息的页面,通常具有由用户自己输入的信息。接下来将展示如何动态生成用户个人资料页面,然后添加一个小型个人资料编辑器,用户可用它来输入Ta们的信息。 用户个人资料页面 要创建一个用户个人资 阅读全文
posted @ 2020-10-21 14:05 [豆约翰] 阅读(1986) 评论(2) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 密码哈希 用户模型有一个password_hash字段,到目前为止尚未使用。它是用于保存用户密码的哈希值,密码用于验证用户在登录过程中输入的密码。密码散列是一个复杂的主题,应交给安全专家,但有几个易于使用的库以一种简单地从应用程序调用的方式实现所有逻辑。 其中一个 阅读全文
posted @ 2020-10-21 14:03 [豆约翰] 阅读(3448) 评论(0) 推荐(2) 编辑
摘要: 配套视频教程 本文B站配套视频教程 数据库能为应用程序提供有效检索的持久数据。这是本章学习的内容。 Flask中的数据库 Flask本身并不支持数据库。意味着可以自由选择适合应用程序的数据库。 在Python中对于数据库,有很多选择,并且很多带有Flask扩展,可很好地与Flask Web应用程序集 阅读全文
posted @ 2020-10-21 14:00 [豆约翰] 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 实现:如何通过Web表单接受用户的输入。 其中,Web表单是任何Web应用程序中基本的构建块之一。在此,将使用表单来允许用户提交博客帖子,以及登录应用程序。 Flask-WTF简介和安装 在Flask中,处理应用程序中的Web表单,将使用到**Flask-WTF* 阅读全文
posted @ 2020-10-21 13:55 [豆约翰] 阅读(2205) 评论(0) 推荐(1) 编辑
摘要: 配套视频教程 本文B站配套视频教程 模板定义 如有一个预期:html主页有一个 欢迎用户的标题。目前这个应用程序还没用户的概念,也没用户系统。但可用一个 模拟用户,用Python字典实现: user = {'username':'Miguel'} 创建模拟对象 是一种有用的技术,使我们可专注于应用程 阅读全文
posted @ 2020-10-21 13:54 [豆约翰] 阅读(1994) 评论(0) 推荐(1) 编辑
摘要: 配套视频教程 本文B站配套视频教程 1、创建一个目录,名为:microblog; 2、创建虚拟环境 C:\Users\Administrator>d: D:\>cd D:\microblog D:\microblog>python -m venv venv D:\microblog> 3、激活虚拟环 阅读全文
posted @ 2020-10-21 13:53 [豆约翰] 阅读(2574) 评论(1) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 使用Flask-SQLAlchemy管理数据库 Flask-SQLAlchemy 是一个 Flask 扩展,简化了在 Flask 应用中使用 SQLAlchemy 的操作。SQLAlchemy 是一个强大的关系型数据库框架,支持多种数据库后台。SQLAlchemy 阅读全文
posted @ 2020-10-21 13:51 [豆约翰] 阅读(2615) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 Flask-WTF 扩展可以把处理 Web 表单的过程变成一种愉悦的体验。这个扩展对独立的 WTForms 包进行了包装,方便集成到 Flask 应用中。 Flask-WTF 及其依赖可使用 pip 安装: pip install flask-wtf 配置 与其他 阅读全文
posted @ 2020-10-21 13:49 [豆约翰] 阅读(1983) 评论(0) 推荐(1) 编辑
摘要: 配套视频教程 本文B站配套视频教程 ##模板概述 一. 为什么要使用模板 视图函数有两个作用, 一个是业务逻辑一个是表现逻辑, 举例说明: 用户在网站注册了一个新账号, 用户在表单中输入电子邮件地址和密码, 点击提交按钮, 服务器接收到包含用户输入的请求, 然后Flask把请求分发到处理注册请求的视 阅读全文
posted @ 2020-10-21 12:57 [豆约翰] 阅读(2908) 评论(0) 推荐(0) 编辑
摘要: 配套视频教程 本文B站配套视频教程 初始化 所有的Flask程序都必须创建一个程序实例, 这个程序实例就是Flask类的对象。客户端把请求发送给Web服务器, 服务器再把请求发送给Flask程序实例, 然后由程序实例处理请求。 创建程序实例: from flask import Flask app 阅读全文
posted @ 2020-10-21 12:56 [豆约翰] 阅读(3822) 评论(1) 推荐(0) 编辑