batman (working version kinda)
This commit is contained in:
commit
6dd38036e7
65 changed files with 3950 additions and 0 deletions
28
app/core/extensions.py
Normal file
28
app/core/extensions.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_bcrypt import Bcrypt
|
||||
from flask_limiter import Limiter
|
||||
from flask_limiter.util import get_remote_address
|
||||
from flask_login import LoginManager
|
||||
from flask_wtf.csrf import CSRFProtect
|
||||
|
||||
# Initialize extensions
|
||||
db = SQLAlchemy()
|
||||
bcrypt = Bcrypt()
|
||||
login_manager = LoginManager()
|
||||
login_manager.login_view = 'auth.login'
|
||||
csrf = CSRFProtect()
|
||||
|
||||
# Initialize rate limiter with fallback storage
|
||||
try:
|
||||
limiter = Limiter(
|
||||
key_func=get_remote_address,
|
||||
default_limits=["200 per day", "50 per hour"],
|
||||
storage_uri="memory://" # Use memory storage for development
|
||||
)
|
||||
except Exception as e:
|
||||
print(f"Error initializing rate limiter: {e}")
|
||||
# Fallback limiter with very basic functionality
|
||||
limiter = Limiter(
|
||||
key_func=get_remote_address,
|
||||
default_limits=["200 per day", "50 per hour"]
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue