Flask-Windows下虚拟环境使用入门

前言:安装Flask最便捷的方式是使用虚拟环境。虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包,而且不会影响系统中安装的全局Python解释器。特别是很多使用linux系统的朋友,一般linux默认安装的Python是2.7,很多朋友喜欢更新系统的Python,导致linux系统一些默认的配置被改动,导致各种各样的问题。

windows下安装virtualenv

虚拟环境使用第三方使用工具virtualenv创建,博主安装的Python3.6,可以检查一下Python的版本和已经安装的库如下图所示
这里写图片描述
接下来控制台中输入指令

pip install virtualenv

安装工具过程及完成的界面如下:
这里写图片描述
当然还是使用常用的检测包安装是否成功的仿佛,检查包的版本信息

virtualenv –version

这里写图片描述

看到以上信息,说明我们已经成功的安装了虚拟环境的三方工具。

创建虚拟环境

现在我们假定有一个flask的项目工程,我们现在的目标就是在这个flask项目中穿件python虚拟环境,进入项目目录中,输入指令,

virtualenv venv

按照惯例,一般虚拟环境会被命名为venv,具体操作如下图所示
这里写图片描述
这样我们就在flask文件夹下有了一个名为venv的子文件夹,他保存一个全新的虚拟环境,其中有一个私有的Python解释器
这里写图片描述

激活虚拟环境

windows激活虚拟环境的指令

venv\Scripts\activate

这里写图片描述
成功激活之后,虚拟环境解释器的路径就被加入PATH中,但这种改变不是永久的,他只会影响当前的命令行会话,为了提醒用户已经激活了虚拟环境,如上图所示,会修改命令行的提示符,加入环境名。

证明系统环境和虚拟环境的Python相互独立

我们在虚拟环境中安装flask,再与系统环境的安装包进行对比
虚拟环境:

安装flask的指令:pip install flask
这里写图片描述
然后查看安装的包
这里写图片描述

系统环境:

这里写图片描述

显然通过以上两个截图对比,虚拟环境和系统环境互不干扰。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Flask-Security是一个基于 Flask 的安全扩展,可以帮助你快速实现常见的用户认证和授权功能。下面是一个快速入门指南: 1. 安装 Flask-Security 使用 pip 安装 Flask-Security: ``` pip install flask-security ``` 2. 初始化 Flask-Security 在 Flask 应用中初始化 Flask-Security: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_security import Security, SQLAlchemyUserDatastore app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///myapp.db' app.config['SECRET_KEY'] = 'super-secret' db = SQLAlchemy(app) from myapp.models import User, Role user_datastore = SQLAlchemyUserDatastore(db, User, Role) security = Security(app, user_datastore) ``` 在这个例子中,我们使用 SQLAlchemyUserDatastore 将 Flask-Security 和 SQLAlchemy 集成在一起,同时使用 Security 类来初始化 Flask-Security。 3. 创建用户模型 创建一个 User 模型来存储用户信息: ```python from flask_security import UserMixin, RoleMixin class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) active = db.Column(db.Boolean()) roles = db.relationship('Role', secondary='user_roles', backref=db.backref('users', lazy='dynamic')) class Role(db.Model, RoleMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) ``` 在这里,我们使用 UserMixin 和 RoleMixin 来添加一些常见的用户和角色属性。 4. 创建用户和角色关系模型 创建一个 user_roles 表来存储用户和角色之间的关系: ```python user_roles = db.Table('user_roles', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) ``` 5. 配置 Flask-Security 在 Flask 应用中配置 Flask-Security: ```python app.config['SECURITY_PASSWORD_SALT'] = 'super-secret-salt' app.config['SECURITY_REGISTERABLE'] = True app.config['SECURITY_SEND_REGISTER_EMAIL'] = False app.config['SECURITY_USER_IDENTITY_ATTRIBUTES'] = ['email'] ``` 在这个例子中,我们为密码添加了一个盐值,启用了用户注册功能,并且关闭了注册时发送电子邮件的功能。 6. 添加用户认证和授权路由 添加用户认证和授权路由到 Flask 应用中: ```python from flask import render_template, redirect, url_for from flask_security import login_required, current_user @app.route('/') def home(): return render_template('home.html') @app.route('/dashboard') @login_required def dashboard(): return render_template('dashboard.html', user=current_user) ``` 在这里,我们使用 login_required 装饰器来保护 dashboard 路由,只有已登录用户才能访问该路由。 7. 创建模板 创建一个 home.html 模板来显示主页: ```html <h1>Welcome to My App</h1> {% if current_user.is_authenticated() %} <p>Hello {{ current_user.email }}!</p> <p><a href="{{ url_for('security.logout') }}">Logout</a></p> {% else %} <p><a href="{{ url_for('security.login') }}">Login</a></p> {% endif %} ``` 创建一个 dashboard.html 模板来显示仪表盘: ```html <h1>Dashboard</h1> <p>Hello {{ user.email }}!</p> <p><a href="{{ url_for('security.logout') }}">Logout</a></p> ``` 在这里,我们使用 current_user 对象来检查当前用户是否已经登录,并使用 url_for 方法来生成登出链接。 这就是 Flask-Security 的快速入门指南。有了这个基础,你可以探索 Flask-Security 的更多功能,例如密码重置、电子邮件确认、角色管理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值