U 添加manage.py initdb命令

pull/22/head
vapao 2020-01-17 20:04:06 +08:00
parent 95d757ebb6
commit db2ef13283
2 changed files with 17 additions and 35 deletions

View File

@ -0,0 +1,17 @@
# Copyright: (c) OpenSpug Organization. https://github.com/openspug/spug
# Copyright: (c) <spug.dev@gmail.com>
# Released under the MIT License.
from django.core.management.base import BaseCommand
from django.core.management import execute_from_command_line
from django.conf import settings
class Command(BaseCommand):
help = '初始化数据库'
def handle(self, *args, **options):
args = ['manage.py', 'makemigrations']
apps = [x.split('.')[-1] for x in settings.INSTALLED_APPS if x.startswith('apps.')]
execute_from_command_line(args + apps)
execute_from_command_line(['manage.py', 'migrate'])
self.stdout.write(self.style.SUCCESS('初始化成功'))

View File

@ -1,35 +0,0 @@
# Copyright: (c) OpenSpug Organization. https://github.com/openspug/spug
# Copyright: (c) <spug.dev@gmail.com>
# Released under the MIT License.
import argparse
import django
import sys
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'spug.settings')
django.setup()
from apps.account.models import User
parser = argparse.ArgumentParser(description='创建用户')
parser.add_argument('-u', required=True, metavar='username', help='账户名称')
parser.add_argument('-p', required=True, metavar='password', help='账户密码')
parser.add_argument('-n', default='', metavar='nickname', help='账户昵称')
parser.add_argument('-s', default=False, action='store_true', help='是否是超级用户(默认否)')
if len(sys.argv) == 1:
parser.print_help()
sys.exit(1)
args = parser.parse_args()
User.objects.create(
username=args.u,
nickname=args.n,
password_hash=User.make_password(args.p),
is_supper=args.s,
)
print('创建成功')