2.启用Admin

栏目: Python · 发布时间: 4年前

内容简介:启用Django自带的管理后台mysite/models.pymysite/admin.py

启用Django自带的管理后台

自定义User

mysite/models.py

from django.db import models
from django.contrib.auth.models import AbstractUser

# 继承系统的user 自定义user
class User(AbstractUser):

    # 手机号
    phone = models.CharField(verbose_name='手机号码', max_length=11, null=True, unique=True)
    # 昵称
    nickname = models.CharField(verbose_name='昵称',max_length=25, null=True)
    # 头像
    avatar = models.URLField(verbose_name='头像', null=True)
    # 信息修改时间
    modify_date = models.DateTimeField(verbose_name='最后修改时间',auto_now_add=True)

    def __str__(self):
        return '%s %s' %(self.username, self.email)

注册到admin

mysite/admin.py

from django.contrib import admin

from mysite.models import User

'''
装饰器 和 函数注册是一样的效果
'''
# @admin.register(User)
class UserAdmin(admin.ModelAdmin):
    # 设置在后台中展示的字段
    list_display = ('username', 'phone', 'email', 'nickname', 'date_joined')

admin.site.register(User, UserAdmin)

配置自定义user

如果更改了Django本身的admin User必须在setting.py中通知Django项目使用的是那个类

# 在设置中添加一行  格式:app名称.类名
AUTH_USER_MODEL = "mysite.User"

其他设置

更改语言和时区,修改setting.py中的

LANGUAGE_CODE = 'zh-hans' # 使用中文

TIME_ZONE = 'Asia/Shanghai' # 东8区

同步数据库

Django支持多种数据库,此处我们使用默认的 sqlite 3

其他数据库的设置在setting.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

1.记录数据库变更

$ python3 manage.py makemigrations
Migrations for 'mysite':
  mysite/migrations/0001_initial.py
    - Create model User
(my_blog) 192:my_blog yuh$ python3 manage.py migrate

2.将数据model变更同步到数据库

$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, mysite, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying mysite.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying sessions.0001_initial... OK

创建超级用户

$ python3 manage.py createsuperuser
Username: admin # 用户名
Email address: admin@litets.com # 邮箱
Password:  #密码  输入会看不到
Password (again): #密码  输入会看不到
Superuser created successfully.

启动服务

$ python3 manage.py runserver

在浏览其中输入 http://127.0.0.1:8000/admin ,然后使用上面创建的超级账号登录进去。可以看到 有个MYSITE/用户栏目,点击修改,可以看到我们添加的admin账号。

再次还可以新增,修改,删除


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Using Google App Engine

Using Google App Engine

Charles Severance / O'Reilly Media / 2009-5-23 / USD 29.99

With this book, you can build exciting, scalable web applications quickly and confidently, using Google App Engine - even if you have little or no experience in programming or web development. App Eng......一起来看看 《Using Google App Engine》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试