devops——5、django shell创建用户

python manage.py dbshell  #django快速进入数据库
MariaDB [devops]> show tables;
+-------------------+
| Tables_in_devops  |
+-------------------+
| django_migrations |
+-------------------+
python manage.py  showmigrations
python manage.py  migrate  #同步数据库
python manage.py  showmigrations
python manage.py dbshell
MariaDB [devops]> show tables;
+----------------------------+
| Tables_in_devops           |
+----------------------------+
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+
MariaDB [devops]> select * from django_migrations;
+----+--------------+------------------------------------------+---------------------+
| id | app          | name                                     | applied             |
+----+--------------+------------------------------------------+---------------------+
|  1 | contenttypes | 0001_initial                             | 2018-12-12 08:27:34 |
|  2 | auth         | 0001_initial                             | 2018-12-12 08:27:34 |
|  3 | admin        | 0001_initial                             | 2018-12-12 08:27:34 |
|  4 | admin        | 0002_logentry_remove_auto_add            | 2018-12-12 08:27:34 |
|  5 | contenttypes | 0002_remove_content_type_name            | 2018-12-12 08:27:35 |
|  6 | auth         | 0002_alter_permission_name_max_length    | 2018-12-12 08:27:35 |
|  7 | auth         | 0003_alter_user_email_max_length         | 2018-12-12 08:27:35 |
|  8 | auth         | 0004_alter_user_username_opts            | 2018-12-12 08:27:35 |
|  9 | auth         | 0005_alter_user_last_login_null          | 2018-12-12 08:27:35 |
| 10 | auth         | 0006_require_contenttypes_0002           | 2018-12-12 08:27:35 |
| 11 | auth         | 0007_alter_validators_add_error_messages | 2018-12-12 08:27:35 |
| 12 | auth         | 0008_alter_user_username_max_length      | 2018-12-12 08:27:35 |
| 13 | sessions     | 0001_initial                             | 2018-12-12 08:27:35 |
+----+--------------+------------------------------------------+---------------------+

1、同步数据库

python manage.py  migrate

(如果其他数据库创建不出来,
原因:没有指定数据库,将只初始化默认的default数据库;
针对每个应用的数据库分别执行python manage.py migrate --database=app_db_name)

2、创建用户

使用django shell 创建普通用户:创建users最直接的方法是使用create_user()辅助函数

(python36env) [vagrant@localhost devops]$ python manage.py shell
In [1]: from django.contrib.auth.models import User                                      
In [2]: ?User.objects.create_user                                                        
Signature:
User.objects.create_user(
    ['username', 'email=None', 'password=None', '**extra_fields'],
)
Docstring: <no docstring>
File:      /vagrant/python36env/lib/python3.6/site-packages/django/contrib/auth/models.py
Type:      method
In [3]: User.objects.create_user('rock', 'rock@changecan.com', '123456')                 
Out[3]: <User: rock>

(python36env) [vagrant@localhost devops]$ python manage.py dbshell
MariaDB [devops]> select * from auth_user\G
*************************** 1. row ***************************
          id: 1
    password: pbkdf2_sha256$36000$YuxnCfHeXuTS$XWW4MzrHrx5g/GK/5BDQVSzwVg7GpzQwfmKAHvsn4os=
  last_login: NULL
is_superuser: 0
    username: rock
  first_name: 
   last_name: 
       email: rock@changecan.com
    is_staff: 0
   is_active: 1
 date_joined: 2018-12-12 08:41:32
1 row in set (0.00 sec)

3、创建管理员

(python36env) [vagrant@localhost devops]$ python manage.py shell
In [1]: from django.contrib.auth.models import User 
In [5]: User.objects.create_superuser("admin", "admin@changecan.com", "123456")          
Out[5]: <User: admin>

MariaDB [devops]> select * from auth_user\G
*************************** 1. row ***************************
          id: 1
    password: pbkdf2_sha256$36000$YuxnCfHeXuTS$XWW4MzrHrx5g/GK/5BDQVSzwVg7GpzQwfmKAHvsn4os=
  last_login: NULL
is_superuser: 0
    username: rock
  first_name: 
   last_name: 
       email: rock@changecan.com
    is_staff: 0
   is_active: 1
 date_joined: 2018-12-12 08:41:32
*************************** 2. row ***************************
          id: 2
    password: pbkdf2_sha256$36000$vZS7rwmZEvIn$CkZYxiw9OvbjufLTQH5dGaG4lJWXSkpYUpgcs41BOKg=
  last_login: NULL
is_superuser: 1
    username: admin
  first_name: 
   last_name: 
       email: admin@changecan.com
    is_staff: 1
   is_active: 1
 date_joined: 2018-12-12 09:02:55
2 rows in set (0.00 sec)

4、修改密码

Django不会在user模型上存储原始的(明文)密码,而只是一个哈希。因为这个原因,不要尝试直接操作user的password属性。这也是为什么创建一个user时要使用辅助函数。

(python36env) [vagrant@localhost devops]$ python manage.py shell
In [1]: from django.contrib.auth.models import User 
In [6]: u = User.objects.get(username="rock")                                            
In [7]: u.set_password('654321')                                                         
In [8]: u.save() 

或者使用:

(python36env) [vagrant@localhost devops]$ python manage.py changepassword rock
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值