藕丝空间

编程,我们是认真的!

路径决定和交换功能详述

时间顺序方式描述数据包生命的一天 步骤1:PC0需要向PC1发送一个数据包 参考图1。PC0将数据包封装成以太网帧,并将其目地的MAC地址设置为Rourter0的FastEthernet 0/0接口的MAC地址。 PC0是如何确定应该将数据包转发至Router0而不是发往其它设备?这是因为PC0发现源IP与目的IP位于不同的网络上。......


第九章 用户认证

大多数程序都需要进行用户跟踪。用户链接程序时需要进行身份认证,通过这一过程,让程序知道自己的身份。程序知道用户是谁后,就能提供有针对性的个性化体验。最常用的认证方法要求用户提供一个身份证明(用户的电子邮件、电话或用户名)和一个密码。 Flask的认证扩展 Flask-Login:管理已登录用户的用户会话(session)。 Werkzeug:计算密码散列值并进行核对。......


第八章 用户权限

有多种方法可用于在程序中实现角色。具体采用何种实现方法取决于所需角色的数量和细分程度。例如,简单的程序可能只需要两个角色,一个表示普通用户,一个表示管理员。对于这种情况,在 User 模型中添加一个 is_administrator 布尔值字段就足够了。复杂的程序可能需要在普通用户和管理员之间在细分出多个不同等级的角色。有些程序甚至不能使用......


第七章 使用 Flask 扩展管理数据库

Flask-SQLAlchemy是一个Flask的一个扩展,简化了在Flask程序中使用SQLAlchemy的操作难度。SQLAlchemy是一个很强大的关系型数据库框架,支持多种数据库后台。SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的低层功能。而Flask-Migrate扩展是对SQLAlchemy的主力开发人员编写的Alembic迁移框架的一个轻量级包装,并......


第六章 实例项目的描述

尽管在单一脚本中编写小型WEB程序很方便,但是这种方法并不能广泛使用。程序变复杂之后,使用单个大型源码文件会导致后期的维护及扩展困难。但是不同于其它的WEB框架,Flask并不强制要求大型项目使用特定的组织方式,程序结构的组织方式完全由开发者决定。 项目的结构 ousimd/ |-- flask/ |-- <python虚拟环境> |-- app/ <项目的模块名称> |--......