初识Django Admin

Django Admin是Django为我们提供的网站后台管理应用,通常网站,个人博客,CMS等都会有个后台管理界面,这个界面只有管理员权限的用户才能进入管理网站内容。管理后台的页面通常都是简单重复的工作,他们可重用性很高,所以作为一个大而全的框架,django为广大开发者提供了这样一个模块,让你无需编写很多的代码,就可以实现对后台的管理,使程序员能够更专注于前端页面逻辑和后端功能实现,大大提高了中小型网站的开发效率。

1、创建管理员用户

[root@localhost mysite]# python3 manage.py createsuperuser

运行上面面的命令后你就会进入到下面这种交互模式:

2、登录后台管理

创建好后台管理用户后,运行Django程序。

[root@localhost mysite]# python3 manage.py runserver 192.168.10.100:8000  # 开启Django服务

输入http://192.168.10.100:8000/admin/登录后台你会看到:

登录成功后你会看到如下界面:

如果不习惯英文,只需要在settings.py中将LANGUAGE_CODE='zh-hans'即可改成中文。

[root@localhost mysite]# vim mysite/settings.py 

修改后应该像下面这样:

[root@localhost mysite]# python3 manage.py runserver 192.168.10.100:8000  # 开启Django服务

刷新http://192.168.10.100:8000/admin/页面你就会看到中文了:

我们现在能看到的组管理和用户管理,都是由 django.contrib.auth为我们提供的。我们在polls/models.py中创建的投票表和选择表并没有在这里。

3、在后台中添加投票表(question)和选择表(choice),对其进行管理。

首先还是来看一下polls应用的目录结构:

知道polls/admin.py是用于后台管理的文件,我们在此将question表和choice表添加进去。

[root@localhost mysite]# vim polls/admin.py   # 将Question表和Choice表注册到admin.py中
from django.contrib import admin
from .models import Question
from .models import Choice # Register your models here.
admin.site.register(Question)
admin.site.register(Choice)

刷新http://192.168.10.100:8000/admin/页面你就会看到(如果看不到重启下Django):

3.1 像Questions表中添加数据

因为得现有问题后才能进行投票,所以先在Questions表中添加数据。点击页面中的增加,会看到如下界面:

保存后会跳转到如下界面:

现在我们就让上图的那个位置显示文本。我们需要编辑polls/models.py文件

[root@localhost mysite]# vim polls/models.py
from django.db import models # Create your models here.
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_data = models.DateTimeField('date published')
# 添加如下内容
def __str__(self):
return self.question_text class Choice(models.Model):
question = models.ForeignKey(Question,on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
# 添加如下内容
def __str__(self):
return self.choice_text

添加数据后,重启Django服务:

[root@localhost mysite]# python3 manage.py runserver 192.168.10.100:8000

刷新http://192.168.10.100:8000/admin/polls/question/页面你就会看到:

后台管理部分就到这吧,关于后台的其它操作,就自行摸索吧。


了解Django为我们提供的python API接口

[root@localhost mysite]# python3 manage.py shell  # 进入接口

在该接口内可以对models.py进行操作。不过目前还不打算在这里就写,我觉得这个接口适合做临时测试用,不是特重要知道有这个东西就可以了。等写完这套Django2.2专题后有时间在来专门做一篇关于Django python API的博客。


参考文档:https://docs.djangoproject.com/en/2.2/intro/tutorial02/

小结:

本章节主要了解了Django为我们提供的Admin后台管理应用及简单使用,Admin后台使用流程如下:

  • 使用python3 manage.py createsuperuser先创建一个后台管理账号。
  • 在polls/admin.py中注册我们需要进行后台管理的表。
  • 如果表中的内容在后台无法正常显示,需要在models.py中表定义__str__(self)方法
  • 登录后台对表进行管理。如果管理界面是英文,将mysite/settings.py中的LANGUAGE_CODE='zh-hans'即为中文。

4-初识Django Admin的更多相关文章

  1. Django Admin初识

    一.网站后台的作用 网站后台通常是相对于动态网站而言,即网站建设是基于数据库驱动的网站.网站后台,有时也称为网站管理后台,是指用于管理网站前台的一些列操作,如:产品.企业 信息的增加.更新.删除等.通 ...

  2. 初识Django —Python API接口编程入门

    初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...

  3. web框架之初识Django

    目录 一.web框架 1.1什么是web框架 1.2自制的简易web框架 1.3三大主流web框架简介 Django Flask Tornado 1.4动态网页与静态网页 二.初识Django框架 2 ...

  4. Django admin美化插件suit应用[原创]

    前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

  5. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  6. Django admin 显示图片

    我有一个表用来储存轮播图片,有一个 `picture` 字段储存的是图片的url,图片的 url 通过上传文件到 cdn 获得.目前这个表的编辑是通过自定义一个 `ModelForm`,然后重写 Dj ...

  7. [系统开发] Django Admin上传图片简单校验

    我的 models里有个ImageField字段,用来保存用户头像,希望通过Django Admin上传时校验头像大小,如果太大就报错,并且不保存. 网上有不少方法,有的通过第三方软件实现,有的通过自 ...

  8. SQLAlchemy连接数据库并在django admin显示

    SQLAlchemy 0.7     postgersql  9.0 SQLAlchemy连接数据库有两种方法,一种是classic,一种是modern 1,modern方法 from sqlalch ...

  9. Django admin site(一)ModelAdmin Options

    Admin管理界面是django的杀手级应用.它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即向网站中添加内容. 要使用admin,可以按照下面的步骤: 将'dj ...

随机推荐

  1. day16 匿名函数

    # 匿名函数# 函数名 = lambda 参数1,(参数2,....) : 返回值 [注意:匿名函数不允许换行]# 匿名函数返回值和正常函数一样可以是任意数据类型# def add(x,y):# re ...

  2. IDEA下配置JavaWeb项目

    前提 已安装IDEA专业版 已安装Tomcat 已安装JDK 创建JavaWeb项目 File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 设置 ...

  3. Notability

    Notability 上课记笔记.听网课→Notability 有录音功能, 在原来笔记中新添加空白行(选中之后下移) Notability常用的功能总结 1.纸张有颜色2.荧光笔会盖住文字3.套索工 ...

  4. springboot 报错 org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type 'com.example.service.HrService' available: 有没有大佬出个主意,我找了一天,刚入门springboot

    话不多说先上图,这是启动类的配置,这里配置了@ComponentScan("我的mapper的接口") 接下来是我的项目结构截图 然后是service 的截图,我在这里加了注解@S ...

  5. linux下定时网站文件备份和数据备份以及删除旧备份标准代码

    直切正题: 文件备份:web.sh 数据备份:db.sh 删除旧备份:clear.sh vi web.sh文件内容为: #!/bin/bash        解释:shell脚本标准头 cd  网站文 ...

  6. 使用 Hyper-V 替代 VMware

    目前我又用回了vmware,原因是,Hyper-V性能不如vmware,而且导出的虚拟机文件,再导入会出现奇怪的问题.不省心. Hyper-V是什么 Hyper-V硬件要求为Windows 10 企业 ...

  7. Spark学习之路 (八)SparkCore的调优之开发调优[转]

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

  8. Winpcap学习笔记

    ————————————————版权声明:本文为CSDN博主「Ezioooooo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blo ...

  9. 关于Windows系统下端口被占用的问题和task命令

    一.如何解决端口被占用的问题? 此时端口4444被进程占用,只要找到端口4444的进程,并且将进程kill掉即可. 开始--运行--cmd 进入命令提示符 输入netstat -aon 即可看到所有连 ...

  10. css权重及计算

    一.一般而言:!important--->行间样式--->id--->class | 属性--->标签选择器--->通配符 二.权重值 !important        ...