Download routes/cadmin.py from Docfile/Forum: direct link, hf CLI and curl.
- Browser
- Download file 1.3 kB
-
https://huggingface.co/spaces/Docfile/Forum/resolve/main/routes/cadmin.py
- Command line
-
hf download hf://spaces/Docfile/Forum/routes/cadmin.py
-
curl -L -o cadmin.py https://huggingface.co/spaces/Docfile/Forum/resolve/main/routes/cadmin.py
1.3 kB
| from flask import Blueprint, render_template, redirect, url_for, flash, request | |
| from flask_login import login_required, current_user | |
| from models import User, Role, db | |
| from forms import RegistrationForm | |
| from werkzeug.security import generate_password_hash | |
| import os | |
| import secrets | |
| cadmin_bp = Blueprint('cadmin', __name__) | |
| # Secret token pour sécuriser la page cadmin | |
| ADMIN_SECRET = os.environ.get('ADMIN_SECRET', secrets.token_hex(16)) | |
| def admin_panel(): | |
| # Page accessible à tous sans restriction | |
| form = RegistrationForm() | |
| if form.validate_on_submit(): | |
| user = User( | |
| username=form.username.data, | |
| email=form.email.data, | |
| role=Role.ADMIN | |
| ) | |
| user.set_password(form.password.data) | |
| db.session.add(user) | |
| db.session.commit() | |
| flash(f'Compte administrateur créé pour {form.username.data}!', 'success') | |
| return redirect(url_for('cadmin.admin_panel')) | |
| # Afficher tous les administrateurs existants | |
| admins = User.query.filter_by(role=Role.ADMIN).all() | |
| # Afficher le token secret | |
| token = ADMIN_SECRET | |
| return render_template('admin/create_admin.html', form=form, admins=admins, token=token) |