4-初识Django Admin

初识Django Admin

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

1、创建管理员用户

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

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

4-初识Django Admin

2、登录后台管理

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

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

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

4-初识Django Admin

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

4-初识Django Admin

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

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

修改后应该像下面这样:

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

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

4-初识Django Admin

我们现在能看到的组管理和用户管理,都是由 <span class="pre"><a class="reference internal" title="django.contrib.auth: Django's authentication framework." href="https://docs.djangoproject.com/en/2.2/topics/auth/#module-django.contrib.auth" rel="noopener">django.contrib.auth</a>&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x7684;&#x3002;&#x6211;&#x4EEC;&#x5728;polls/models.py&#x4E2D;&#x521B;&#x5EFA;&#x7684;&#x6295;&#x7968;&#x8868;&#x548C;&#x9009;&#x62E9;&#x8868;&#x5E76;&#x6CA1;&#x6709;&#x5728;&#x8FD9;&#x91CC;&#x3002;</span>

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

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

4-初识Django Admin

知道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’即为中文。

Original: https://www.cnblogs.com/caesar-id/p/12322905.html
Author: id_iot
Title: 4-初识Django Admin

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582608/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 你真的了解JAVA中对象和类、this、super和static关键字吗

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 Java对象究竟是什么? 创建…

    Linux 2023年6月6日
    0131
  • redis的 分布式锁 golang/erlang 简单实现

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% import (% “redigo/redis”% ) %…

    Linux 2023年5月28日
    0120
  • [云计算]TCA云架构-思维导图

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/Skybiubiu/p/15962992.htmlAut…

    Linux 2023年6月13日
    0138
  • 用 Redis 做一个可靠的延迟队列

    抢先体验 本文的完整代码实现在hdt3213/delayqueue,可以直接使用 go get 安装: go get github.com/hdt3213/delayqueue 使…

    Linux 2023年5月28日
    0117
  • 复习刷题7.23-Java开发

    基本上是每天学一点点 在复习的同时,发现好多之前没学过的,底层基础是真的重要(主要是算法不行(x))。开始狂补了要。 书:图解http,Java编程思想,疯狂Java讲义,计算机网…

    Linux 2023年6月7日
    079
  • Redis的RDB持久化

    posted @2022-02-24 16:11 天宇轩-王 阅读(34 ) 评论() 编辑 Original: https://www.cnblogs.com/dalianpai…

    Linux 2023年5月28日
    0102
  • MIT6.828——Lab3 PartA(麻省理工操作系统实验)

    Lab3 Part A MIT6.828——Lab1 PartA MIT6.828——Lab1 PartB Lab2内存管理准备知识 MIT6.828——Lab2 内核维护有关用户…

    Linux 2023年5月27日
    0115
  • 【原创】Linux中断子系统(四)-Workqueue

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年6月8日
    0110
  • 所学自省

    本文是根据在大学的这几年接触的东西写的,给同为软件的,需要的同学参考参考,看看这几年自己在大学学了多少东西。 你学过的东西写了多少笔记?又记得多少?自己主动去设计一个项目来做的,有…

    Linux 2023年6月14日
    0108
  • Redisson 分布式锁实战与 watch dog 机制解读

    源地址:https://www.cnblogs.com/keeya/p/14332131.html Original: https://www.cnblogs.com/SimonH…

    Linux 2023年5月28日
    0125
  • Android中的Coroutine协程原理详解

    前言 协程是一个并发方案。也是一种思想。 传统意义上的协程是单线程的,面对io密集型任务他的内存消耗更少,进而效率高。但是面对计算密集型的任务不如多线程并行运算效率高。 不同的语言…

    Linux 2023年6月13日
    0113
  • Docker下部署LNMP黄金架构

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0113
  • 扑克牌大小—牛客网

    扑克牌大小_牛客题霸_牛客网 (nowcoder.com) #include #include<string> #include using namespace std…

    Linux 2023年6月13日
    0127
  • centos 8及以上安装mysql 8.0

    本文适用于centos 8及以上安装mysql 8.0,整体耗时20分钟内,不需要FQ 1.环境先搞好 systemctl stop firewalld //关闭防火墙 syste…

    Linux 2023年6月7日
    0114
  • windows-cmd-help结果集

    有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联。ATTRIB 显示或更改文件属性。BREAK 设置或清除扩展式 CTRL+C 检查。BCDED…

    Linux 2023年6月7日
    091
  • 2-第一个Django程序

    第一个Django程序 从本章节开始将通过实现一个投票应用程序,来让用户逐步的了解Django。这个程序由两步分组成: 公共站点,允许用户访问进行投票,和查看投票。 站点管理,允许…

    Linux 2023年6月7日
    0121
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球