你可以使用会话(session)来存储管理员是否已登录的信息,并根据该信息来决定是否创建特殊按钮。以下是一个示例代码:
from flask import Flask, session, render_template, redirect, url_for
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/')
def index():
if 'admin_logged_in' in session and session['admin_logged_in']:
# 管理员已登录,创建特殊按钮
special_button = ''
else:
# 管理员未登录,不创建特殊按钮
special_button = ''
return render_template('index.html', special_button=special_button)
@app.route('/login')
def login():
# 这里假设管理员已经成功登录
session['admin_logged_in'] = True
return redirect(url_for('index'))
@app.route('/logout')
def logout():
# 注销管理员登录
session.pop('admin_logged_in', None)
return redirect(url_for('index'))
if __name__ == '__main__':
app.run()
在上面的示例中,使用了 Flask 框架,并设置了一个密钥作为会话的秘钥。当管理员成功登录时,将会话中的 admin_logged_in 键设置为 True,表示管理员已登录。在主页的视图函数中,首先检查会话中是否存在 admin_logged_in 键,并且该键的值为 True,如果是,则创建特殊按钮的 HTML 代码,否则不创建。在登录和注销的视图函数中,分别设置和删除 admin_logged_in 键。
在模板文件 index.html 中,你可以使用 Flask 的模板语法来插入特殊按钮的 HTML 代码:
首页
欢迎访问首页
{{ special_button|safe }}
在模板中使用了 {{ special_button|safe }} 来插入特殊按钮的 HTML 代码,并使用 safe 过滤器来告诉模板引擎该代码是安全的,可以直接渲染。这样,当管理员已登录时,特殊按钮的 HTML 代码将会被渲染到页面中。