Django admin入门

Admin是Django自带的一个功能非常强大的自动化数据管理界面(也叫后台管理系统)

被授权的用户可以直接在Admin中管理数据库(增删改查)

 

配置Admin

首先我们在全局的settings.py中可以看到Django已经帮我们内置了很多应用

例如: admin, auth, sesions, messsages 等等

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog'
]

 

第一步,创建一个supperuser, 也是通过mamage.py来创建

我们在这里创建了一个叫: alex的supperuser

# python manage.py createsuperuser

 

第二步,启动Project

 

第三步,登录admin管理界面

地址:localhost/admin , 这个已默认被配置在全局的urls.py中

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', include('blog.urls')),
]

 

使用刚才创建的alex进行登录

 

页面还是蛮漂亮的,不过语言是英文,可以在全局配置文件settings.py中的 LANGUAGE_CODE = 'zh_Hans' 修改为中文。

配置应用

第一步,在APP目录下的admin.py中import models.py

使用admin.site.register(models.class) 即可完成注册

from django.contrib import admin
from .models import Article

admin.site.register(Article)

 

然后,刷新admin页面即可生效

点击进入Articles,可以看到显示的两条记录都是Article Object,这不是我们想要的,我们想要的是直接显示title 

在APP目录下的models.py中的Article类中,我们定义一个方法来return title

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=24, default='Title')
    content = models.TextField(null=True)

    def __str__(self):
        return self.title

 

然后刷新admin管理页面即可生效

 

admin默认只显示第一个字段,因此我们可以定义一个class使用 list_display 显示多个字段

from django.contrib import admin

# Register your models here.

from .models import Students


class StudentAdmin(admin.ModelAdmin):
    list_display = ("name", "age", "grade", "course", "enroll_date")


admin.site.register(Students, StudentAdmin)

显示效果

 

 

未完待续......

 

 

 

posted @ 2017-02-23 01:57  Vincen_shen  阅读(381)  评论(0)    收藏  举报