zoukankan      html  css  js  c++  java
  • 4-初识Django Admin

    初识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'即为中文。
  • 相关阅读:
    ajax全套
    url设计规范
    内置下划线方法
    rest_framework视图
    rest_framework
    数据库设置
    HDU 6231
    HDU 6242
    CodeForces 546D
    CodeForces 940E
  • 原文地址:https://www.cnblogs.com/caesar-id/p/12322905.html
Copyright © 2011-2022 走看看