django 框架学习:十六.django 后台管理系统

前言

每个网站一般都有后台管理系统,为了方便管理,django框架也有后台管理系统,后台管理系统主要可以实现以下功能:

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

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

settings.py 配置

在INSTALLED_APPS中,默认已经添加相关模块。

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

urls.py

urls.py 里已经默认设置了后台系统的访问路径

创建admin管理用户账号

需要手动创建一个管理员账号,执行下面这条命令,手动创建

python manage.py createsuperuser

如下创建管理员用户名admin,邮箱:[email protected],密码设置123456aa(密码八位以上,不能纯数字)

models.py文件创建数据库表

创建表之后,执行以下命令生成数据

python manage.py makemigrations

python manage.py migrate

访问admin后台管理系统

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

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

admin.py注册表

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

刷新后台管理页面,就能看到新创建的两张表了

中文设置

settings.py文件最下方,进行如下设置

刷新后台管理页面

库表显示优化

上面已经将users和persons 两张表添加到后台管理系统,进入Users表格显示如下:

表格里的数据不够直观,如果想显示具体的标名称,可以用__str__方法。需要在modles.py文件里添加__str__方法。

在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法 __str__方法需要返回一个字符串,当做这个对象的描写,返回一个对象的描述信息

将models.py 文件修改如下代码:

刷新admin管理后台

查找需要修改的用户名,进入进入数据库表进项数据库操作就可以了。

原文地址:https://www.cnblogs.com/liushui0306/p/12627116.html

时间: 2024-10-01 02:32:53

django 框架学习:十六.django 后台管理系统的相关文章

Django框架(十六)—— forms组件、局部钩子、全局钩子

forms组件.局部钩子.全局钩子 一.什么是forms组件 forms组件就是一个类,可以检测前端传来的数据,是否合法. 例如,前端传来的邮箱数据,判断邮件格式对不对,用户名中不能以什么开头,等等 二.forms组件的使用 1.使用语法 from django.shortcuts import render, HttpResponse from django import forms # 1.先写一个类,继承Form class MyForm(forms.Form): # 定义一个属性,可以用

Django框架(十六)-- 中间件、CSRF跨站请求伪造

一.什么是中间件 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出 二.中间件的作用 如果你想修改请求,例如被传送到view中的HttpRequest对象. 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现. 可能你还想在view执行之前做一些操作,这种情况就可以用 middleware来实现. Django默认的中间件:(在django项目的settings模块中,有一个 MIDDLE

第六章 Django框架学习——ORM详解

第六章 Django框架学习--ORM介绍与常用方法 一.ORM介绍 二.ORM中的常用字段和参数 三.ORM中的关系字段--一对一(OneToOneField) 四.ORM中的关系字段--多对多(ManyToManyField) 五.ORM中的元信息 一.ORM介绍(部分内容前面的章节已经介绍过,此处只做简单介绍) 什么是ORM(what): ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. Django中的ORM: Django配置数据库 1.在se

第十一章 Django框架学习——Cookie和session

第十一章 Django框架学习--Cookie和session 一.Cookie简介 二.装饰器版登录校验 三.session简介 四.如何在CBV中使用装饰器 一.Cookie简介 什么是Cookie(what): Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的原理:由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能

spring框架学习(六)AOP

spring框架学习(六)AOP AOP(Aspect-OrientedProgramming)面向方面编程,与OOP完全不同,使用AOP编程系统被分为方面或关注点,而不是OOP中的对象. AOP的引入 在OOP面向对象的使用中,无可避免的会出现代码重复,而且使用面向对象的编程方式,这种重复无法避免,比如用户权限判断中,根据相应的权限执行相应的方法:在servlet中设置编码格式时,同样相同的代码出现很多次,而且还根业务无关,很容易忘记写,结果运行的时候就出现乱码拉.这种重复代码不仅使编码麻烦,

python学习笔记十六 django深入学习一

django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), #精确匹配 url(r'^articles/([0-9]{4})/$', views.year_archive), #动态路由 url(r'^articles/([0-9]{4})/([0-9]{2

十六 Django框架,信号

Django中提供了"信号调度",用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 也就是当程序有指定动作时,触发一个信号函数 1.Django内置信号 Model signals #数据库操作时 pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行其构造方法后,自动触发 pre_save # django的modal对象保存前,自动触发 post_save #

python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_name -grades (多对多 关联班级表) ''' 在写小项目之前我们先复习一下小知识: 1. form表单提交数据的注意事项: 是form不是from,必须要有method和action 所有获取用户输入的表单标签要放在form表单里面,表单标签必须要有name属性 form表单必须要有su

Django框架学习-01Django介绍

01-Django介绍 02-HTTP协议介绍 01-Django介绍 1.什么是Web框架? 随着Web最新发展趋势的不断升级,Web项目开发也越来越难,而且需要花费更多的开发时间.所以,Web程序员灵活运用Web开发框架显得更为重要. Web框架(Web framework)或者叫做Web应用框架(Web application framework),是用于进行Web开发的一套软件架构.大多数的Web框架提供了一套开发和部署网站的方式.为Web的行为提供了一套支持支持的方法.使用Web框架,