关于若依Python(Django-Vue-Admin)的一些设置

Django-Vue-Admin 是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。

  • 前端采用ruoyi-ui 、Vue、Element UI。
  • 后端采用Python语言Django框架。
  • 权限认证使用Jwt,支持多终端认证系统。
  • 支持加载动态权限菜单,多方式轻松权限控制。

1.恢复原生的admin后台:

系统并没有包含原生的admin后台界面,开发过程中如果要看数据在没有和前端对接的情况下要看数据智能通过数据库管理工具链接数据库查看,这个就很蛋疼了。要开启原生的admin后台也简单:

1)修改installed_apps,添加admin:

INSTALLED_APPS = [
    'simpleui',#效果更直观
    'django.contrib.admin',
]

2)创建admin.py注册相关model:

from django.contrib import admin

# Register your models here.
from django.contrib.auth.admin import UserAdmin

# Register your models here.
from .models import *

admin.site.register(Users, UserAdmin)


# admin.site.register(Post)

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'code', 'sort']

2.无法通过python manage.py createsuperuser:由于系统修改了用户认证model并且没有实现 用户管理类,直接通过前面的命令创建用户就报错了。要修复这个问题,首先创建用户管理类:

1)在models中添加:

class MyUserManager(BaseUserManager):

    def create_user(self, username,email, password=None,is_active=True,is_staff=False,is_admin=False):
        """
        Creates and saves a User with the given email and password.
        """
        if not username:
            raise ValueError('Users must have an username')

        user = self.model(
            username=username,
        )

        user.set_password(password)
        if email:
            user.email  = self.normalize_email(email)
        user.save(using=self._db)
        return user

    def create_staffuser(self, username,email, password):
        """
        Creates and saves a staff user with the given email and password.
        """
        user = self.create_user(
            username,
            email,
            password=password,
        )
        user.staff = True
        user.save(using=self._db)
        return user

    def create_superuser(self, username,email, password):
        """
        Creates and saves a superuser with the given email and password.
        """
        user = self.create_user(
            username,
            email,
            password=password,
        )
        user.staff = True
        user.admin = True
        user.save(using=self._db)
        return user

2)在user中添加:

objects = MyUserManager()

现在就可以正常通过命令创建superuser了。

 

 

☆版权☆

* 网站名称:obaby@mars
* 网址:https://nai.dog/
* 个性:https://oba.by/
* 本文标题: 《关于若依Python(Django-Vue-Admin)的一些设置》
* 本文链接:https://www.nai.dog/2022/10/10564
* 短链接:https://oba.by/?p=10564
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

3 comments

  1. Level 1
    Google Chrome 104 Google Chrome 104 Windows 10 Windows 10 cn广东省深圳市 电信/腾讯云

    smile kiss您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan
    作者申请此计划后将作者的文章进行搬迁同步到社区的专栏下,你只需要简单填写一下表单申请即可,我们会给作者提供包括流量、云服务器等,另外还有些周边礼物。 smile

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注