前言

通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作。django的admin后台管理主要可以实现以下功能

  • 基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查
  • 于该模块的数据管理功能,可以二次定制一些实用的功能。

settings.py配置

在INSTALLED_APPS中,默认已经添加相关模块, 可以不用管

  • django.contrib.admin 管理站点
  • django.contrib.auth 认证系统
  • django.contrib.contenttypes 用于内容类型的框架
  • django.contrib.sessions 会话框架
  • django.contrib.messages 消息框架
  • django.contrib.staticfiles 管理静态文件框架
# Application definition

INSTALLED_APPS = [
'django.contrib.admin', # 管理站点
'django.contrib.auth', # 认证系统
'django.contrib.contenttypes', # 用于内容类型的框架
'django.contrib.sessions', # 会话框架
'django.contrib.messages', # 消息框架
'django.contrib.staticfiles', # 管理静态文件框架
'hello', # 应用app
]

urls.py创建

urls.py创建admin后台的访问路径

from django.contrib import admin
from django.conf.urls import url urlpatterns = [
url(r'^admin/', admin.site.urls),
....
]

创建admin管理用户

django默认是没管理员用户的,需要执行指令,手动创建一个admin账号

python manage.py createsuperuser

如下创建的管理员用户名admin, 配置邮箱 283340479@qq.com,密码设置123456

D:\web_djo\helloworld>python manage.py createsuperuser
Username (leave blank to use 'admin'): admin
Email address: 283340479@qq.com
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

models.py文件创建表

在app 的models.py文件中创建表信息,即表类,相关操作参考前面的一篇https://www.cnblogs.com/yoyoketang/p/10331049.html

# models.py

from django.db import models

# Create your models here.

# 我们新建了一个Person类,继承自models.Model,
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField() # 新增一张用户表,表名为user 字段user_name, psw ,mail 都是字符串类型
class User(models.Model):
user_name = models.CharField(max_length=30,
primary_key=True) # 设置为主键
psw = models.CharField(max_length=30)
mail = models.CharField(max_length=30)

创建表之后需执行

python manage.py makemigrations

python manage.py migrate

访问admin后台

在浏览器上访问后台http://localhost:8000/admin/,用户名和密码就是刚才新建的admin 123456

访问后查看到的页面

刚才新建的User和Person并没有显示在这里,需要在admin.py中注册表

admin.py注册表

如果想让新建的表,显示到后台管理里面,需要在admin.py中添加注册信息,如下在admin.py中注册2个表信息

# admin.py
from django.contrib import admin
from hello import models # Register your models here.
admin.site.register(models.User)
admin.site.register(models.Person)

接着刷新下页面,就能看的刚才注册的2个表信息了

显示优化

打开一张表查看详细信息,显示的是User object这种内容,如果想显示具体的标名称,可以用__str__方法,相关语法参考https://www.cnblogs.com/yoyoketang/p/10342017.html

于是可以优化models.py里面的代码,加上一个def __str__(self):

class Person(models.Model):
'''用户信息'''
name = models.CharField(max_length=30)
age = models.IntegerField() def __str__(self):
return self.__doc__ + ":name>" + self.name class User(models.Model):
'''注册表'''
user_name = models.CharField(max_length=30,
primary_key=True)
psw = models.CharField(max_length=30)
mail = models.CharField(max_length=30) def __str__(self):
return self.__doc__ + ":user_name->" + self.user_name

刷新amdin后台页面后显示

选个记录点进去就可以对相应的数据增删改查了

django交流QQ群:779429633

python测试开发django-17.admin后台管理的更多相关文章

  1. django的admin后台管理

    Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...

  2. Django框架admin后台管理和用户端静态文件

    目录 一.admin后台管理 1. 如何使用 2. 路由分发的本质 二.用户上传的静态文件的展示 1. media配置 2. 手动开设media接口 三.图片防盗链 一.admin后台管理 djang ...

  3. django的admin后台管理如何更改为中文

    新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 setting.py配置文件修改 # LANGUAGE_CODE = 'en-us' # # # # # TIME_ZON ...

  4. django 之admin后台管理

    数据库 from django.db import models from django.contrib.auth.models import User from django.contrib.aut ...

  5. python测试开发django-34.xadmin管理后台

    前言 django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码. 注意环境搭配: django 2.1.2 xadmin ...

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

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

  7. python测试开发django-19.admin后台自定义显示

    前言 django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观. 在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速 ...

  8. python测试开发django-18.admin后台中文版

    前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internat ...

  9. 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍

    第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍 配置django的admin数据库管理后台 首先urls.py配置数据库后台路由映射,一 ...

随机推荐

  1. sonarLint--强大的代码审查工具(插件)

    idea也有的一个插件 贴上一个eclipse的sonarlint用法 http://blog.csdn.net/limm33/article/details/51166840 不过听说从2015年1 ...

  2. Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异

    近期,在使用Oracle的过程中,由以下两段代码的执行引发的思考,到底 select * from a,b where a.id = b.id 和 select * from a inner join ...

  3. CSU 1948: 超级管理员(普通费用流&&zkw费用流)

    Description 长者对小明施加了膜法,使得小明每天起床就像马丁的早晨一样. 今天小明早上醒来发现自己成了一位仓管员.仓库可以被描述为一个n × m的网格,在每个网格上有几个箱子(可能没有).为 ...

  4. 关于idtcpserver的使用

    原文:http://blog.csdn.net/hnxxcxg/article/details/2798019 用idTCPServer,客户端接上来时,如何取得客户端的IP? IP:=AThread ...

  5. 【LOJ】#6435. 「PKUSC2018」星际穿越

    题解 想出70的大众分之后就弃疗了,正解有点神仙 就是首先有个比较显然的结论,就是要么是一直往左走,要么是走一步右边,然后一直往左走 根据这个可以结合RMQ写个70分的暴力 我们就考虑,最优的话显然是 ...

  6. free命令中buffers和caches的区别

    一.命令 1 2 3 4 5 [root@localhost ~]# free -m              total       used       free     shared    bu ...

  7. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

  8. 让HTML5来为你定位(转)

    add by zhj: HTML5的地理定位返回的应该都是GPS坐标,即WGS-84坐标,参见Map Types - Google Maps JavaScript API v3 本文使用的是Chrom ...

  9. jenkins 整合maven,svn(配置钩子程序实现提交代码自动构建),tomcat实现热部署(windows+linux分别实现)

    springboot : https://blog.csdn.net/zjh_746140129/article/details/80904876 1 准备工作: (1)运行jenkins的tomca ...

  10. MVC+easyui,写个树

    前言:网上关于编写组织机构树的教程并不少,我第一次写树的时候也是在网上借鉴别人的技术,走了一些弯路写下了树.是因为这些教程都不是很全面,对于编程新手来说跳跃性太强.所以趁着闲暇时期,我用心的写个树,供 ...