Django 管理工具(Admin)

目录

激活管理工具

使用管理工具

复杂模型


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 管理工具(Admin)_第1张图片

我们发现 Django 后台管理的登录页面是英文的,如果你想把他变成中文的,只需要在 settings.py 文件中把配置 LANGUAGE_CODE = 'en-us'> 改成 LANGUAGE_CODE = 'zh-hans'Django 管理工具(Admin)_第2张图片

TIME_ZONE = 'UTC' 改成 TIME_ZONE = 'Asia/Shanghai' 即可,如下图。

 你可以通过命令 python manage.py createsuperuser 来创建超级用户,如下所示:

# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
[root@solar HelloWorld]#

 之后输入用户名密码登录,界面如下:

Django 管理工具(Admin)_第3张图片

复杂模型

管理页面的功能强大,完全有能力处理更加复杂的数据模型。

先在 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 管理工具(Admin)_第4张图片

 

你可能感兴趣的:(Django,django,python,后端)