2

たとえば、ユーザーのロールを設定する必要がある場合、どうすればよいFooUserですか? どこでこれを行う必要がありますか? 私自身の/create_account見解またはコンテキストプロセッサで?

@app.route('/create_account')
def create_account():
    user_datastore.find_or_create_role('FooUser')
    user_datastore.add_role_to_user(user,role)
    return render_template('register_user.html')
4

3 に答える 3

2

重要!2番目の方法は非常に簡単です。 @user_registered.connect_via(app) def user_registered_sighandler(sender, **extra): sender.logger.debug("logger-user_registered_sighandler:", extra) user = extra.get('user') role = user_datastore.find_or_create_role('farmer') user_datastore.add_role_to_user(user,role) db.session.commit() print "print-user_registered_sighandler:", extra

于 2014-08-20T07:45:21.697 に答える
1

ユーザーにロールを追加するには、flask-security の API を使用する必要があります。

flask_security.datastore.UserDatastore.add_role_to_user(user, role)

間違いなく、独自のcreate_accountまたは同様のコード内でこれを行います。ContextProcessorは、テンプレートをレンダリングする前にデータを準備するために使用されます。これは、ユーザーオブジェクトとロールオブジェクトを作成または取得してから、上記の API を呼び出してユーザーにロールを割り当てることを意味します。さらにサポートが必要な場合は、より具体的にご記入ください。

于 2014-08-19T13:20:04.620 に答える