前言

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

1
2
3
4
5
from django.contrib import admin
urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

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

主要功能

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

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

  功能2:二次开发

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

使用方法

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

1
2
3
4
5
6
7
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',   #admin依赖
    'django.contrib.contenttypes'#admin依赖
    'django.contrib.sessions',  #admin依赖
     ......   
]

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

1
2
3
4
5
6
from django.contrib import admin
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    ....  
]

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

1
2
3
4
5
6
MIDDLEWARE = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    ....
]

步骤4:创建admin管理用户

1
python manage.py createsuperuser

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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中注册表

1
2
3
4
5
6
from django.contrib import admin
# Register your models here.
from app01 import models
admin.site.register(models.userinfo)
admin.site.register(models.UserType)

步骤7:生成表结构

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

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

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

1
2
3
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

本文转自:http://www.cnblogs.com/jishuweiwang/p/5943225.html

转载于:https://www.cnblogs.com/iamjqy/p/7441495.html

Django Admin后台管理功能使用相关推荐

  1. Django admin后台管理页面的常用设置

    Django admin后台管理页面的常用设置 选择列表选项choices # filename: models.pyfrom django.db import models# 例1 int类型:ST ...

  2. 第二十课 Django Admin后台管理

    第二十课 Admin后台管理 1. admin创建用户 创建管理员账号: python manage.py createsuperuser# 按提示输入用户名.邮箱.密码 2. 注册模型 如果只是在a ...

  3. django admin后台管理插件django-suit入门

    前言 用过django的同学大概都知道,admin后台那个丑到爆的界面: 虽然程序猿不太那么讲究审美,但是这么吃藕的一个界面,反正搁我我是忍不了.不过呢,还好django扩展能力还是挺强的,有牛人开发 ...

  4. python的django后台管理_python测试开发django-17.admin后台管理

    前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作.django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数 ...

  5. python毕业设计作品基于django框架的鲜花水果商城毕设成品(3)后台管理功能

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 + 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术 主要python技术介绍:框 ...

  6. python毕业设计作品基于django框架校园网站系统毕设成品(3)后台管理功能

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 + 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术 主要python技术介绍:框 ...

  7. python毕业设计作品基于django框架校园排课选课系统毕设成品(3)后台管理功能

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 + 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术 主要python技术介绍:框 ...

  8. Django Admin 后台管理系统

    文章目录 Admin 后台管理系统 一,后台管理系统的重要性 二,了解Django后台管理功能 Admin 后台管理系统 Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们 ...

  9. DJANGO ADMIN后台设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

最新文章

  1. Java方法详细介绍
  2. Linux基础知识——常用shell命令介绍(一)
  3. tamper绕WAF小结
  4. php拿站,从建站到拿站
  5. 【LeetCode从零单排】No118 Pascal#39;s Triangle
  6. 如何评价,为何程序员被骂立马就辞职呢?
  7. Ubuntu 12.04下NFS安装配置
  8. 415 Add Strings 字符串相加
  9. [知了堂学习笔记]_IO流之File类的应用
  10. BMP JPEG 图片转换为矢量图像 ContourTrace
  11. 2016年U盘启动盘制作工具哪个好用?看U盘启动盘排行榜!
  12. PHP编程中 @符号的作用
  13. 西游记笔记与想法(2)
  14. android记账本折线图_小熊记账本
  15. 使用Aircrack-ng工具破解WEP、WPA/WPA2加密的无线网络
  16. 主力用计算机吸筹,主力进场买点 找主力吸筹提款 通达信副图指标 源码 贴图(图文)...
  17. JS: exec()方法
  18. tar .........
  19. ViT/vit/VIT详解
  20. python 信号.同步 day07

热门文章

  1. 透过NpetShop 看Web项目开发中的分工合作
  2. 项上的温柔,冬季围巾8大打法图解(组图)
  3. vue中Axios网络请求之Vue知识点归纳(十)
  4. Android中的service
  5. java基础—几种for循环编程思想
  6. 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
  7. UML总结---UML九种图关系说明
  8. JS单曲调用百度mp3音乐播放器代码
  9. 005木桶缩放(比例非原始)
  10. Javascript document对象常用的方法和属性