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)

大家都在看

  • 创建右键nushell打开UTF-8(似乎需要win10 1803版本以上,admin的不需要)

    在环境变量中添加名为LESSCHARSET,值为utf-8的环境变量(解决git log中文乱码) 在桌面新建nushell.reg文件,里面写如下代码: Windows Regi…

    Linux 2023年5月28日
    0105
  • 数据结构 单链表

    cpp;gutter:true;</p> <h1>include</h1> <h1>define null 0;</h1&gt…

    Linux 2023年6月13日
    087
  • 电脑中图标变白色教你怎么修复

    复制一下代码到文本文档中 另存为 .bat 然后点击好的配置文件右键以管理员身份运行 就会解决桌面变白的问题 @echo off taskkill /f /im explorer….

    Linux 2023年6月7日
    0104
  • 重磅硬核 | 一文聊透对象在 JVM 中的内存布局,以及内存对齐和压缩指针的原理及应用

    欢迎关注公众号:bin的技术小屋,大家如果看到图片显示不了的话,可以查看公众号原文 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章《从内…

    Linux 2023年6月6日
    0159
  • Linux系统卡死后紧急处理

    前言:Linux系统卡死了的情况有很多,最常见的是系统负载过高导致的。还可以运行内存耗用极大的程序(如虚拟机),也会迅速提升系统负载。注意:不能再试图依赖任何图形界面的东西,如 G…

    Linux 2023年6月7日
    0111
  • MySQL8主从复制

    环境介绍 主服务器配置 修改my.cnf配置文件 在/etc/my.cnf 添加如下信息 登录主服务器给从服务器授权 登陆mysql 创建user授权 备注:rootslave就是…

    Linux 2023年6月14日
    0150
  • 百钱买百鸡问题

    百钱买百鸡问题 题目:公元前5世纪末,中国古代数学家张丘建在他的《算经》中提出了著名的 “百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,…

    Linux 2023年6月7日
    0112
  • Java常见知识点总结

    1 重载 && 重写 重载: 发生在同一个类中, 方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写: 发生在父…

    Linux 2023年6月7日
    0105
  • [Python]批量替换PPT字体脚本

    使用说明 脚本代码 配置文件 使用说明 将脚本放置在需要批量修改的PPT文件夹根目录 修改配置文件 conf.ini 中的字体 执行脚本文件 ​ exe文件 下载:https://…

    Linux 2023年6月13日
    0126
  • OpenResty入门

    OpenResty介绍 OpenResty通过汇聚各种设计精良的 Nginx模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web …

    Linux 2023年6月8日
    0103
  • 性能测试—实施流程记录

    posted @2022-06-08 17:31 尼古丁·瘾 阅读(26 ) 评论() 编辑 Original: https://www.cnblogs.com/ngd-mzl/p…

    Linux 2023年6月8日
    0128
  • 在linux中使用tcpdump抓包的方法:

    在linux中使用tcpdump抓包的方法: 1,运行下面命令来从所有网卡中捕获数据包: tcpdump -i any 2,从指定网卡中捕获数据包 tcpdump -i eth0 …

    Linux 2023年5月27日
    0129
  • WEB安全信息收集

    每次做测试都要去网上找信息太费劲这里放了常用的所有工具和网站,后期有更新在改。 子域名&敏感信息 通过大量的信息收集,对目标进行全方位了解,从薄弱点入手。 利用Google…

    Linux 2023年6月7日
    095
  • 配置免密登陆服务器

    前言 原来自己学习的时候在阿里云买自己的学习机,一台主机自己瞎折腾。但是参加工作以后管理的主机越来越多了,上服务器看的频率也越来越频繁,虽然有时候shell管理工具可以很方便的保存…

    Linux 2023年5月27日
    0148
  • 经典45个git使用技巧与场合,专治不会合代码。

    前言 git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和…

    Linux 2023年6月13日
    0136
  • mysql join语句的执行流程是怎么样的

    mysql join语句的执行流程是怎么样的 join语句是使用十分频繁的sql语句,同样结果的join语句,写法不同会有非常大的性能差距。 select * from t1 st…

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