Customize Alerts
flask_authlib.Alerts
- a simple configuration that stores alert messages. It is pretty easy that customize alert messages!
An alert object from the source code of this library:
1
2
3
4
5
6
7
8
9
10
11
12 | class Alerts:
EMAIL_ALERT: str = "This email is already taken!"
USERNAME_ALERT: str = "This username is already taken!"
REGISTER_SUCCESS: str = "Registration was successful!"
LOGIN_FAIL: str = "The username or password is incorrect!"
REGISTER_FAIL: str = "This email and username is already taken!"
BAD_REQUEST: str = "Bad request!"
REQUIRED_FIELD: str = "Please, fill in all required fields!"
|
Customizing alerts is very same as BaseConfig
. Import it, change the values that you want and give your settings object as an argument to Auth
again!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_login import login_required
from flask_authlib import AuthManager
from flask_authlib import Alerts
app = Flask(__name__)
app.config.update(
DEBUG=True,
SQLALCHEMY_DATABASE_URI="sqlite:///database.db"
)
db = SQLAlchemy(app)
class MyAlerts(Alerts):
pass
auth = AuthManager(app, db, alerts=MyAlerts)
@app.route("/protected")
@login_required
def protected():
return "HI, I'M PROTECTED 👋"
if __name__ == "__main__":
app.run()
|
I want to change the email and username alerts messages:
| class MyAlerts(Alerts):
EMAIL_ALERT = "if emails.filter(your_email): stop_world()"
USERNAME_ALERT = "Check your username from our database by SQL injection."
|
Or, you can change login_fail
's alert message:
| class MyAlerts(Alerts):
LOGIN_FAIL="Get your password from the database and decode it!"
|
🎉