为什么我无法访问管理面板中的模型

时间:2021-05-26 23:27:44

标签: python flask

尝试访问此 Flask 应用程序中的管理面板仅显示主页选项卡,而 User 选项卡已隐藏,这意味着我没有验证管理员的登录信息,我遗漏了一些内容但不能弄清楚,由于版本和第三方插件不同,Flask 的文档非常多样化且具有误导性

我做了我的研究并观看了一堆视频,但没有成功

prettyprint

Colin Kraczkowsky

Flask admin

Flask login

每个教程都采用不同的方式来保护管理面板,有些包括 Roles 其他人不能做的最好的事情就是将我自己锁定在管理面板之外(在网络用户界面)



class UserModelView(ModelView):
    def is_accessible(self):
        return (current_user.is_active and current_user.is_authenticated)

    def _handle_view(self, name, *args, **kwargs):
        if not current_user.is_authenticated():
            return redirect(url_for('login', next="/admin"))
        if not self.is_accessible():
            return self.render("adminlogin.html")




login_manager = LoginManager()

app = Flask(__name__)
app.config.from_object(config['dev'])
app.register_blueprint(webui)
admin = Admin(app)
admin.add_view(UserModelView(User , db.session))
login_manager.init_app(app)
db.init_app(app)
manager = Manager(app)

@login_manager.user_loader
def load_user(user_id):
    return User.get(user_id)


@app.route('/login', methods=['GET','POST'])
def panel():
    if request.method == 'POST':
        if request.form['username'] == "admin" and request.form['password'] == "0000" :
            return redirect(url_for('admin.index'))
        else:
            return render_template('adminlogin.html')
    else:
        return render_template('adminlogin.html')

保护一个简单的管理面板有那么难吗

0 个答案:

没有答案