目录
Django 提供了基于 web 的管理工具。
Django 自动管理工具是 django.contrib 的一部分。
你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
django.contrib是一套庞大的功能集,它是Django基本代码的组成部分。
激活管理工具
通常我们在生成项目时会在 urls.py 中自动设置好,我们只需去掉注释即可。
配置项如下所示:
# urls.py
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
配置好后就可以运行了
使用管理工具
启动开发服务器,然后在浏览器中访问 http://127.0.0.1:8000/admin/,得到如下界面:

我们发现 Django 后台管理的登录页面是英文的,如果你想把他变成中文的,只需要在 settings.py 文件中把配置 LANGUAGE_CODE = 'en-us'> 改成 LANGUAGE_CODE = 'zh-hans',
TIME_ZONE = 'UTC' 改成 TIME_ZONE = 'Asia/Shanghai' 即可,如下图。
你可以通过命令 python manage.py createsuperuser 来创建超级用户,如下所示:
# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: admin@runoob.com
Password:
Password (again):
Superuser created successfully.
[root@solar HelloWorld]#
之后输入用户名密码登录,界面如下:

复杂模型
管理页面的功能强大,完全有能力处理更加复杂的数据模型。
先在 TestModel/models.py 中增加一个更复杂的数据模型:
from django.db import models
# Create your models here.
class Test(models.Model):
name = models.CharField(max_length=20)
class Contact(models.Model):
name = models.CharField(max_length=200)
age = models.IntegerField(default=0)
email = models.EmailField()
def __unicode__(self):
return self.name
class Tag(models.Model):
contact = models.ForeignKey(Contact, on_delete=models.CASCADE,)
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
这里有两个表。Tag 以 Contact 为外部键。一个 Contact 可以对应多个 Tag。
我们还可以看到许多在之前没有见过的属性类型,比如 IntegerField 用于存储整数。

本文介绍了Django的内置管理工具及其使用方法,包括如何激活和配置管理工具,以及如何通过管理界面进行操作。同时展示了如何处理复杂数据模型,如外键关系,并通过实例展示了创建和管理Contact与Tag模型的过程。此外,还提到了如何更改后台管理界面的语言设置,以及创建超级用户的命令。
774

被折叠的 条评论
为什么被折叠?



