上文讲到通过命令实现数据的增删改查,其实完全不用这么麻烦,django项目在创建的时候,系统自动帮忙创建了一个后台管理系统admin。还记得settings文件下INSTALLED_APPS数组中的第一个应用吗,'django.contrib.admin',这个就是后台管理系统。
启动项目,然后打开127.0.0.1:8000/admin/,会打开以下界面:
你会蛋疼滴发现不知道账号密码,不要急,我们来创建一个账号,打开终端使用manage.py的createsuperuser命令创建一个用户:
需要你输入用户名、邮箱、密码,会提醒你用系统的用户名。我们在这里创建了一个叫yucanghai(别纠结这个)的账号,在后台页面输入账号密码:
好吧,全部是英文的,我相信你看得懂,但还是觉得不爽,那我们把它改成中文吧,打开系统的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)
再刷新一下后台的界面,神奇的一幕发生了:
顶部多了一个Articles的管理模块,你可以点进去看一下,可以实现其增删改查。
列表上标题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
再刷新一下界面,列表上就显示了文章的标题了