知识详解5:django之后台管理Admin使用

作者: E思无邪 | 来源:发表于2017-11-06 15:40 被阅读1715次
    封面.jpg

    上文讲到通过命令实现数据的增删改查,其实完全不用这么麻烦,django项目在创建的时候,系统自动帮忙创建了一个后台管理系统admin。还记得settings文件下INSTALLED_APPS数组中的第一个应用吗,'django.contrib.admin',这个就是后台管理系统。

    启动项目,然后打开127.0.0.1:8000/admin/,会打开以下界面:

    1.png

    你会蛋疼滴发现不知道账号密码,不要急,我们来创建一个账号,打开终端使用manage.py的createsuperuser命令创建一个用户:

    2.png

    需要你输入用户名、邮箱、密码,会提醒你用系统的用户名。我们在这里创建了一个叫yucanghai(别纠结这个)的账号,在后台页面输入账号密码:

    3.png

    好吧,全部是英文的,我相信你看得懂,但还是觉得不爽,那我们把它改成中文吧,打开系统的settings.py文件,找到

    # Internationalization
    # https://docs.djangoproject.com/en/1.11/topics/i18n/
    
    LANGUAGE_CODE = 'en-us'
    
    TIME_ZONE = 'UTC'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    

    将LANGUAGE_CODE改一下即可

    # Internationalization
    # https://docs.djangoproject.com/en/1.11/topics/i18n/
    
    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'UTC'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    

    再刷新一下后台页面,界面就变成中文了。此时后台中并没有看到我们创建article相关的内容,这是因为我们需要在blog应用下的admin.py文件中将models中的内容注册一下:

    from django.contrib import admin
    from .models import Article
    
    
    admin.site.register(Article)
    

    再刷新一下后台的界面,神奇的一幕发生了:

    4.png

    顶部多了一个Articles的管理模块,你可以点进去看一下,可以实现其增删改查。

    5.png

    列表上标题Article object是什么鬼?这肯定是django将一个对象直接返回到列表了,还是将这个对象的标题显示出来,我们回到blog下models.py文件中,增加一个方法,如下:

    from django.db import models
    from django.contrib.auth.models import User
    
    
    class Article(models.Model):
    
        title = models.CharField(max_length=32, default='')
    
        # 文章正文,使用的是TextField
        # 存储比较短的字符串可以使用 CharField,但对于文章的正文来说可能会是一大段文本,因此使用 TextField 来存储大段文本。
        content = models.TextField(null=True)
        
        def __str__(self):
            return self.title
    

    再刷新一下界面,列表上就显示了文章的标题了

    6.png

    相关文章

      网友评论

      • 3237ba14e240:多版本的话用Python3 manage.py 这个命令
      • 原来不语:想问一下楼主的Python 版本和Django版本是多少啊,我用的Python 3.5版本使用Python manage.py createsuperuser会报错
        原来不语:@fuckCoding 嗯嗯,谢谢博主了,问题解决啦!
        E思无邪:Django是1.11.4的,python是3.5。你报什么错误,发出来看看

      本文标题:知识详解5:django之后台管理Admin使用

      本文链接:https://www.haomeiwen.com/subject/mzklmxtx.html