权限这块正常来说,是需要用数据表做管理的,就是有完整的用户增删改查,和权限配置的功能。但这块跟大模型和RAG的关系不大,而且细讲的话,得占用课程1/3以上的篇幅,没有太大必要。

所以,我们用一个简化的方案,通过配置的方式,来定义用户名和密码。而且这些用户,都有知识库的管理权限。大家在企业项目中做知识库的管理,可以更进一步的细化,比如先给用户分组,然后再跟对应的知识库绑定。

代码示例

1、修改蓝图设置

# apps/auth/__init__.py
from flask import Blueprint
bp = Blueprint('auth', __name__, url_prefix='/auth', template_folder='../templates/')
from . import views

2、加载模块

# app.py
def register_blueprints(app):
    # Auth模块
    from apps.auth import bp as auth_bp
    app.register_blueprint(auth_bp)

3、验证模块状态

flask  # flask命令提示
flask routes  # 查看路由
flask run --debug  # 调试模式启动服务

4、渲染登录页面模板

# apps/auth/views.py
from flask import render_template, request, session, redirect, url_for, flash
from . import bp

@bp.route('/login', endpoint='login')
def index():
    return render_template('auth/login.html')

注意,在蓝图下定义的路由,地址和名称,都会拼接蓝图前缀。

5、修改样式地址

<link rel="stylesheet" href="{{ url_for('static', filename='app.css') }}">

现在,登录的表单页面,就正常加载进来了,下节课就来完成表单提交的逻辑。

本文链接:http://ichenhua.cn/edu/note/739

版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!