cli create-superuser
parent
5852352286
commit
67e3d75235
|
@ -636,4 +636,4 @@ email = ["email-validator"]
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.11"
|
python-versions = "^3.11"
|
||||||
content-hash = "0b3e5f508d905b937d323c2545bbba6bcf2ee7a5f1227c549cf0d12e49ffac99"
|
content-hash = "5e2949c8ed8b545cd39083eb1486141cda4bb10ee12a445f5fab80c64c77aa9a"
|
||||||
|
|
|
@ -41,6 +41,10 @@ def create_app(test_config=None):
|
||||||
admin.add_view(TagView(Tag, db.session, category="posts"))
|
admin.add_view(TagView(Tag, db.session, category="posts"))
|
||||||
admin.add_view(PostView(Post, db.session, category="posts"))
|
admin.add_view(PostView(Post, db.session, category="posts"))
|
||||||
|
|
||||||
|
from pyproger.cli.commands import bp_cli
|
||||||
|
|
||||||
|
app.register_blueprint(bp_cli)
|
||||||
|
|
||||||
@security.context_processor
|
@security.context_processor
|
||||||
def security_context_processor():
|
def security_context_processor():
|
||||||
return dict(
|
return dict(
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
import click
|
||||||
|
from flask import Blueprint, current_app
|
||||||
|
from flask_security.utils import hash_password
|
||||||
|
|
||||||
|
from pyproger.dbase import db, user_datastore
|
||||||
|
from pyproger.dbase.models import Role
|
||||||
|
|
||||||
|
bp_cli = Blueprint("bp_cli", __name__, cli_group=None)
|
||||||
|
|
||||||
|
|
||||||
|
@bp_cli.cli.command("create-superuser")
|
||||||
|
@click.argument("name")
|
||||||
|
def create_superuser(name):
|
||||||
|
"""Создание учетной записи админа
|
||||||
|
|
||||||
|
Использование:
|
||||||
|
create-superuser <name>
|
||||||
|
Аргументы:
|
||||||
|
<name>: Ник администратора
|
||||||
|
"""
|
||||||
|
|
||||||
|
fname = input("Введите Ваше имя:\n")
|
||||||
|
lname = input("Введиде Вашу фамилию:\n")
|
||||||
|
email = input("Ваша электронная почта:\n")
|
||||||
|
password = input("Пароль:\n")
|
||||||
|
|
||||||
|
with current_app.app_context():
|
||||||
|
user_role = Role(name="user")
|
||||||
|
super_user_role = Role(name="superuser")
|
||||||
|
db.session.add(user_role)
|
||||||
|
db.session.add(super_user_role)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
super_user = user_datastore.create_user(
|
||||||
|
username=name,
|
||||||
|
first_name=fname,
|
||||||
|
last_name=lname,
|
||||||
|
email=email,
|
||||||
|
password=hash_password(password),
|
||||||
|
roles=[user_role, super_user_role],
|
||||||
|
)
|
||||||
|
|
||||||
|
db.session.commit()
|
||||||
|
return
|
|
@ -15,6 +15,7 @@ flask-security-too = "^5.3.0"
|
||||||
flask-migrate = "^4.0.5"
|
flask-migrate = "^4.0.5"
|
||||||
flask-admin = "^1.6.1"
|
flask-admin = "^1.6.1"
|
||||||
psycopg2 = "^2.9.7"
|
psycopg2 = "^2.9.7"
|
||||||
|
click = "^8.1.7"
|
||||||
|
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
|
|
Loading…
Reference in New Issue