前言

  用过Django框架的童鞋肯定都知道,在创建完Django项目后,每个app下,都会有一个urls.py文件,里边会有如下几行:

※特别要注意下面标红颜色的部分[] 一般情况下不需要修改什么东西,只需要把括号修改一下即可

 from django.contrib import admin

urlpatterns = [
url(r'^admin/', admin.site.urls),
]

  

  上边看到导入的admin模块,就是本节所要说的主要内容

主要功能

  功能1:提供数据库管理功能

    基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查

  功能2:二次开发

    基于该模块的数据管理功能,可以二次定制一些实用的功能。

使用方法

步骤1:在settings.py中,INSTALLED_APPS中,加入django.contrib.admin

默认生成的,不需要变动

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth', #admin依赖
'django.contrib.contenttypes', #admin依赖
'django.contrib.sessions', #admin依赖
......
]

步骤2:urls.py创建admin路由

from django.contrib import admin

urlpatterns = [
url(r'^admin/', admin.site.urls),
....
]

  

步骤3:在settings.py配置文件中,中间件注册

默认生成的,不需要变动

MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
....
]

  

步骤4:创建admin管理用户

python manage.py createsuperuser

  

步骤5:在app 的models.py文件中创建表信息,即表类

from django.db import models

class Gender(models.Model):
name = models.CharField(max_length=32) class userinfo(models.Model):
nid = models.AutoField(primary_key=True)
name = models.CharField(max_length=30, verbose_name='用户名',editable=False)
email = models.EmailField(db_index=True)
memo = models.TextField()
img = models.ImageField(upload_to='upload')
user_type = models.ForeignKey("UserType", null=True, blank=True)
gender_choices = (
(0, "男"),
(1, "女"),
)
gender = models.IntegerField(choices=gender_choices,default=1) class UserType(models.Model):
name = models.CharField(max_length=32) def __str__(self):
return self.name

  步骤6:在admin.py中注册表

from django.contrib import admin

# Register your models here.
from app01 import models
admin.site.register(models.userinfo)
admin.site.register(models.UserType)

  

步骤7:生成表结构

python  manage.py makemigrations && python manage.py migrate

  

注意:在数据库表结构发生变动时,再次执行python  manage.py makemigrations就会报错,这是因为此时表中可能已经有数据,貌然变动表结构会有影响,此时的解决方法有两种,一种是,设置新增字段的default='xxx'某个值, 但是这种通用性不是很好。 另外一种是,设置该字段null=True。即允许为空即可

步骤8:运行项目,登陆管理界面

python manage.py runserver

访问URL:http://IP:8000/admin

  

最终展示页面

  显示出来这个页面,就表示admin已经可以正常管理了。

显示优化

优化1:显示字段信息

  这时候去UserType里边添加几条数据后,会发现这几天数据都显示User Type object,显示很不友好。图示如下

    

  处理办法就是去models.py中,修改class UserType类,增加

1
2
def __str__(self):
    return self.name

  增加之后,再次查看,就会显示用户之前增加的可视名称了

    

优化2:优化表单信息为中文显示

  在userinfo表中,设置了verbose_name='用户名',这个参数的作用就是在用户添加信息的时候,显示“用户名”,而不是默认的name

  

  

  

Python进入后台界面(admin)设定的更多相关文章

  1. python测试开发django-31.admin后台一对多操作ForeignKey

    前言 平常的网页上有很多一对多的场景,比如填写银行卡信息的时候,会从银行列表下拉框选择对应的银行信息.一般会建两张表,一张表放银行的信息,一张表放银行卡信息. 每个银行可以对应多个银行卡,每个银行卡只 ...

  2. python测试开发django-32.admin后台多对多关系ManyToManyField

    前言 一本书可以有多个作者,一个作者也可以写多本书,这种关系就是本篇要说的多对多关系. 这种场景在django里面数据库设计时候,需要用到ManyToManyField方法 多对多表设计 auther ...

  3. Part 2:模型与后台管理admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  4. EasyUI的后台界面

    EasyUI的后台界面搭建及极致重构 〇.前言 要了解一个东西长什么样,至少得让我们能看到,才能提出针对性的见解.所以,为了言之有物,而不是凭空漫谈,我们先从UI说起,后台管理页面的UI我们将使用应用 ...

  5. solr后台界面介绍——(十一)

    1.加一个collection的方法 复制solr-home下的collection1,修改名字为collection2.并且修改collection2文件夹中配置文件core.properties中 ...

  6. django后台管理-admin

    0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register( ...

  7. Python 网站后台扫描

    title date layout tags Python 网站后台扫描 2018-05-08 post Python #!/usr/bin/python # This was written for ...

  8. 【分享】国外后台界面HTML源码 [免费]

    国外后台界面HTML模版下载,里面的文字是英文的,不过可以修改成中文,带有数据统计界面和曲线图,本套模板相对完整,在主界面上点击那些菜单,都可以点开二级页面,希望对搞代码的程序员,对不擅长美工的朋友提 ...

  9. 50个令人惊奇的jQuery插件(对话框和表单篇)及免费的响应式bootstrap管理员后台界面主题 - Charisma

    http://www.woiweb.net/50-amazing-jquery-plugins.html 多文件文件下载 免费的响应式bootstrap管理员后台界面主题 – Charisma htt ...

随机推荐

  1. How To Use The Repository Pattern In Laravel

    The Repository Pattern in Laravel is a very useful pattern with a couple of great uses. The first us ...

  2. Ubuntu下Django+uWSGI+nginx部署

    本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...

  3. AdvanceEast源码理解

    目录 文章思路 源码理解 一. 标签点形式 按顺序排列四个点,逆时针旋转,且第一个点为左上角点(刚开始选择最左边的点, 二. 标签切边 三. loss计算 四. NMS 最后说明 文章思路 大神的gi ...

  4. 6.Python3字符串和格式化

    一.字符串 1.字符串表示方法 2.字符串的序号 3.字符串的使用 4.字符串切片 5.字符串的特殊字符 6.字符串操作符 案例:输入对应的数字显示对应的星期 '''weekStr = "星 ...

  5. (5)打造简单OS-进入保护模式

    1.简介: 8086实模式 80286才出现保护模式,保护模式下的段寄存器存储的是段选择子,不在是8086实模式的段基址了! [扩展知识]:可以看了后面知识在回头看一下这段. [8086各个段寄存器和 ...

  6. CentOS 7 常用命令大全(转)

    博主最近疯狂迷恋上linux的centos 7 系统,特意从网上找了一篇centos 7的命令大全来学习,下面我分享下这个博客. 转载自:https://blog.csdn.net/o0darknes ...

  7. Java 集合介绍,常用集合类

    Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: (1)Collection.一个独立元素的序列,这些元素都服从一条或多条规则.List必须按照插入的顺序保存元素,而Set不能有重 ...

  8. Hadoop界的Hello World!

    Hadoop界的Hello World! 2019-05-20  19:50:09 应用平台:Eclipse+ubantu+hadoop包 注:例分析的形式给宝宝们解释一下,详细运行过程省略. 实例: ...

  9. ubuntu16.04安装matlab_R2018a/R2017a

    ubuntu16.04安装matlab_R2018a/R2017a 1. 文件准备 我把Matlab2018a安装镜像及破解文件放在了/home/haes/Downloads/matlab下 2.挂载 ...

  10. IOS开发环境搭建

    前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...