django 创建管理员用户

7.2 create 创建管理员用户:
python manage.py run server
python manage.py createsuperuser
password :12345678912
7.3 admin.py 注册模型:
from .models import Student,Grade

class Register(admin.ModelAdmin):
 7.3.1 #列表页属性
    list_display 展示数据库字段名称包含字段列
    list_filter过滤器过滤根据某个字段
    search_fields = [‘user_name‘] # 查询筛选字段依据字段名称,此字段不可以为外键类列
    list_per_page = 2   #数据库分页数量2 row 为一页
    # 添加修改页(注意fields和fieldsets不可以同时使用,只能存在以一个)
    #排序,只针对可编辑列,展示,对于pk不允许编辑
    #fields = [‘user_name‘,‘is_man‘,‘is_delete‘,‘stu_id‘]
    #分组属性,列表顺序就是页面展示顺序
    fieldsets = [("basic",{"fields":["user_name","is_man"]}),
    ("junior",{"fields":["is_delete","stu_id"]})]

#注册类
admin.site.register(Student,RegisterStudent)
admin.site.register(Grade,RegisterGrade)
7.4关联对象
在admin.py里新建关联对象class并且继承admin.TabularInline类,引入需要被关联的class model,以及关联extra rows数量
class StudentGradeInfo(admin.TabularInline):
    # 声明需要关联模型对象属性赋值
    model = Student
    # 关联几个row
    extra = 2
在需要展示引入模型的主模型中引入extra 的model对象:
  inlines = [StudentGradeInfo]
页面布尔表达式自定义:
class RegisterStudent(admin.ModelAdmin):
    #重新定义属性列展示名称函数
    def zh_sex(self):
        if self.is_man:
            return "True"
        else:
            return "False"

    def delete_condition(self):
        if self.is_delete:
            return "yes"
        else:
            return "no"
    #web展示字段缩写
    zh_sex.short_description = "性别"
    delete_condition.short_description = "在校"
    #动作展示位置调整
    actions_on_bottom = True
    actions_on_top = False
    # check box 选中计数显示,false不显示,true 显示
    actions_selection_counter = False
    #引入重新定义的展示列为函数对象替换原有字符串如zh_index,delete_condition
    list_display = [‘pk‘, ‘user_name‘, zh_sex, ‘createObj_date‘, delete_condition, ‘stu_id‘]
FAQ:
Django 数据库建表的时候 No migrations to apply原因出现和解决
rm -rf  0001_initial.py 进入数据库delete from django_migrations where app="yourapplicationName";
执行: python manage.py makemigrations
python manage.py migrate
检查结果显示success:
Running migrations:
  Applying app.0001_initial... OK
one to one
one to many 与主键外键关系
一对一则需要sub table pr和Foreignkey 共用一个字段
一对多,sub table pr 和 Foreignkey 分开
主表的主键最好外键到子表的外键上,不能外键到sub table的pk column
FAQ:主表,sub 表删除顺序:必须先删除子表在删除主表由于子表外附与主键就像橘子皮附着在橘子肉上一样,
想吃橘子必须先去皮,否则报错如下情况:其次如果想删除主表的数据而不是drop表并且继续保留主表sub表数据可以先备份子表再删除主表数据就可以了但是要建立级联删除关系:
需要在创建多对一的关系的,需要在Foreign的第二参数中加入on_delete=models.CASCADE  主外关系键中,级联删除,也就是当删除主表的数据时候从表中的数据也随着一起删除
mysql> drop table app_grade;
ERROR 3730 (HY000): Cannot drop table ‘app_grade‘ referenced by a foreign key constraint ‘app_student_stu_id_id_eb16ae0c_fk_app_grade_grade_id‘ on table ‘app_student‘.
mysql> drop table app_student;
Query OK, 0 rows affected (0.02 sec)
mysql> drop table  app_grade;
Query OK, 0 rows affected (0.07 sec)

  

原文地址:https://www.cnblogs.com/SunshineKimi/p/11757555.html

时间: 2024-10-28 21:25:05

django 创建管理员用户的相关文章

Django创建管理员账号

python manage.py createsuperuser 创建一个管理员账号 输入账号:admin 输入邮箱:[email protected] 输入密码:123456 按y二次确认 python manage.py runserver 运行 http://127.0.0.1:8000/admin/ 我们的polls应用没有显示在管理界面上 修改polls包里面的admin.py from django.contrib import adminfrom .models import Qu

解决Django创建admin用户时1406错误

[email protected] > createsuperuser "D:\Program Files (x86)\JetBrains\PyCharm 5.0.3\bin\runnerw.exe" C:\Users\Administrator\Envs\mxonline\Scripts\python.exe "D:\Program Files (x86)\JetBrains\PyCharm 5.0.3\helpers\pycharm\django_manage.py

python使用django创建项目详解

1.在合适位置创建一个目录2.打开黑屏终端进入上一步创建的目录3.输入 django admin startproject project(项目名)4.目录层级 5.配置mysql 在__init__.py文件中写入两行代码 import pymysql pymysql.install_as_MySQLdb() 在setting.py中找到DATABASE把sqllite换成mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backend

Django 中的用户认证

Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的 会话.本文说明这个系统是如何工作的. 概览 认证系统由以下部分组成: 用户 权限:控制用户进否可以执行某项任务的二进制(是/否)标志. 组:一种为多个用户加上标签和权限的常用方式. 消息:一种为指定用户生成简单消息队列的方式. Deprecated in Django 1.2: 认证系统的消息部分将会在 Django 1.4 版中去除. 安装 认证系统打包在 Django 的 django.contrib

利用django创建一个投票网站(二)

创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site). 设计哲学 为你的员工和客户创建一个用于添加.修改和删除网站内容的管理页面是一项乏味的工作,而且不需要太多的创造力.因为这些原因,Django 提供完全自动地为模型创建管理接口的功能. Django 产生于一个公众页面和内容发布者页面完全分离的新闻类站点的开发过程中.站点管理人员使用管理系统来添

django中添加用户

在django中添加用户,直接在auth_user表中添加会有问题,因为这里密码是加密的,可以通过manage.py shell加入 创建User: 1 >>> from django.contrib.auth.models import User 2 >>> user = User.objects.create_user('esperyong', '[email protected]', '123456') 3 # 现在一个is_active属性为True的User对

linux创建删除用户和用户组

1.useradd--创建用户 简单的创建普通用户(当然得在root登录下执行) useradd username -p password 2.vim.tail--查看创建的新用户 创建新用户后,同时会在etc目录下的passwd文件中添加这个新用户的相关信息,当我们在创建用户成功之后 vim /etc/passwd 在最下边可以看到刚刚创建的用户,也可以使用tail -3 etc/passwd命令,只将该文件的最后3行信息显示出来. 3.userdel--删除用户 userdel userna

使用NetUserAdd API函数创建远程用户

http://apps.hi.baidu.com/share/detail/33407620 使用NetUserAdd编程创建远程用户Windows API NetUserAdd()可以创建Windows用户,无论是本地还是远程的用户. NET_API_STATUS NetUserAdd(LMSTR servername,DWORD level,LPBYTE buf,LPDWORD parm_err); servername[in] Pointer to a constant string th

oracle中创建一个用户,只能查看指定的视图,如何授权

1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.grant select on test to A --给指定用户的表或者视图授予select(只读)权限,其中test是表名 注意:1.如果是以普通用户(jtg1)身份登录,并创建的用户,查询时要 select * from jtg1.test才能查询出来 2.以管理员身份登录的创建的用户,应该前面