第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用 python manage.py 創(chuàng)建超級用戶在 Django 中自定義消息

使用 python manage.py 創(chuàng)建超級用戶在 Django 中自定義消息

吃雞游戲 2022-07-26 10:48:35
在一個(gè)項(xiàng)目中需要用戶名是自動生成的代碼。為此,我按照描述的要求制作了一個(gè)自定義用戶模型。一切正常,但問題是當(dāng)我嘗試使用創(chuàng)建超級用戶時(shí)python manage.py createsuperuser正如我所描述的,用戶名是一個(gè)自動生成的字段。但是控制臺要求我輸入用戶名。創(chuàng)建超級用戶帳戶后,需要打印用戶代碼,因?yàn)槲倚枰卿洿a以及成功創(chuàng)建超級用戶。我怎樣才能獲得這個(gè)功能?我在谷歌上搜索,但找不到任何合適的解決方案。這是我的模型:class User(AbstractBaseUser, PermissionsMixin):"""Custom user model"""code = models.CharField(max_length=20, unique=True, blank=False)email = models.EmailField(max_length=255, unique=True, null=True)name = models.CharField(max_length=255)address = models.CharField(max_length=255, blank=True)nid = models.CharField(max_length=30, blank=True)profile_pic = models.CharField(max_length=255, blank=True)gender = models.CharField(max_length=10, choices=[('Male', 'Male'), ('Female', 'Female'), ('Other', 'Other')])is_active = models.BooleanField(default=True)is_staff = models.BooleanField(default=False)is_admin = models.BooleanField(default=False)objects = UserManager()USERNAME_FIELD = 'code'REQUIRED_FIELDS = ['name']這是我的自定義用戶管理器:class UserManager(BaseUserManager):use_in_migrations = Truedef create_user(self, password, **extra_fields):    """Create new user with auto-generated code and password"""    if 'name' not in extra_fields.keys():        raise ValueError('Name must be needed')    code = code_generator.generate_employee_code(extra_fields['name'][:2])    user = self.model(code=code, **extra_fields)    user.set_password(password)    if 'email' in extra_fields.keys():        email = self.normalize_email(extra_fields['email'])        user.email = email    try:        user.save(using=self._db)    except IntegrityError as e:        raise ValueError("Email has already been used")    return userdef create_superuser(self, name, password):    """Create and save super user"""    user = self.create_user(password=password, name=name)    user.is_staff = True    user.is_superuser = True    user.is_admin = True    user.save(using=self._db)    return user
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

這可以通過更改源代碼來實(shí)現(xiàn),但通常不是一個(gè)好主意。

如果您仍然想嘗試一下,那就去吧。

找到這個(gè)文件 createsuperuser.py (site-packages->django->contrib->auth->management>commands) 并在正確的地方添加代碼。

class Command(BaseCommand):
    ...
    ...
    def handle(self, *args, **options):
    ...
    ...
        if username:
            ...
            if options['verbosity'] >= 1:
                ...
                self.stdout.write("User name:" + username) # add this code

同樣,我并不是說這是一個(gè)好主意,但如果我絕望了,我會去的。此外,由于站點(diǎn)包不是存儲庫的一部分,因此您必須在部署應(yīng)用程序的每臺機(jī)器上執(zhí)行此操作。


查看完整回答
反對 回復(fù) 2022-07-26
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號