5-1 django admin介绍

后台管理系统

特点:

    权限管理

    少前端样式

    快速开发

项目创建好之后,django自动给创建一个admin管理系统。

5-1 django admin介绍_第1张图片

5-1 django admin介绍_第2张图片

运行项目,浏览器访问:

5-1 django admin介绍_第3张图片

django默认是没有提供用户及密码信息的。django提供一个命令:createsuperuser 自动创建超级用户

5-1 django admin介绍_第4张图片


5-1 django admin介绍_第5张图片

此时超级用户就建好了,用刚创建的账户登录

5-1 django admin介绍_第6张图片


django自动为我们注册了一个组。

把语言改成中文:

5-1 django admin介绍_第7张图片

修改为:

5-1 django admin介绍_第8张图片


刷新一下:

5-1 django admin介绍_第9张图片

这里的组,对应数据表group

5-1 django admin介绍_第10张图片


=======================================

把user注册进来

5-1 django admin介绍_第11张图片


刷新页面:

5-1 django admin介绍_第12张图片

用户信息就注册进来了

添加用户:

5-1 django admin介绍_第13张图片


输入信息之后,点击保存:报错

5-1 django admin介绍_第14张图片


主要是这个:


5-1 django admin介绍_第15张图片


把max_length=5,改成6

5-1 django admin介绍_第16张图片

还要执行 migrate

如图:

5-1 django admin介绍_第17张图片

再次添加

5-1 django admin介绍_第18张图片


5-1 django admin介绍_第19张图片

然后,点击保存

报错

IntegrityError at /admin/users/userprofile/add/
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')
Request Method:	POST
Request URL:	http://127.0.0.1:8000/admin/users/userprofile/add/
Django Version:	1.9
Exception Type:	IntegrityError
Exception Value:	
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')
Exception Location:	C:\Users\hlg\Envs\mxonline\lib\site-packages\MySQLdb\connections.py in defaulterrorhandler, line 36
Python Executable:	C:\Users\hlg\Envs\mxonline\Scripts\python.exe
Python Version:	2.7.12
Python Path:	
['C:\\Users\\hlg\\PycharmProjects\\MxOnline\\apps',
 'C:/Users/hlg/PycharmProjects/MxOnline',
 'C:\\Program Files\\JetBrains\\PyCharm 2017.1.3\\helpers\\pydev',
 'C:\\Users\\hlg\\PycharmProjects\\MxOnline',
 'C:\\Users\\hlg\\PycharmProjects\\MxOnline\\apps',
 'C:\\Program Files\\JetBrains\\PyCharm 2017.1.3\\helpers\\pydev',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Users\\hlg\\Envs\\mxonline\\DLLs',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\plat-win',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\lib-tk',
 'C:\\Users\\hlg\\Envs\\mxonline\\Scripts',
 'c:\\python27\\Lib',
 'c:\\python27\\DLLs',
 'c:\\python27\\Lib\\lib-tk',
 'C:\\Users\\hlg\\Envs\\mxonline',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\site-packages']
Server time:	星期二, 5 六月 2018 17:48:12 +0800

解决办法:

如果在使用Django Admin后台添加用户时出现报错:

(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxproject`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')

这时候需要在setting文件的databases中添加以下代码取消外键检查

'OPTIONS':{"init_command":"SET foreign_key_checks = 0;"}

完整的就是:

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': "mxonline",
         'USER':"root",
         'PASSWORD':"*",
         'HOST':'*',
         'OPTIONS':{"init_command":"SET foreign_key_checks = 0;"}
    }
}


























你可能感兴趣的:(python)