Django 创建超级用户
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制
#创建超级用户
python manage.py createsuperuser
注意密码需要8位,数字和字母组合
存储在auth_user表中
一、 基本设置
1、应用注册
若要把app应用显示在后台管理中,需要在admin.py中注册。这个注册有两种方式,我比较喜欢用装饰器的方式。
先看看普通注册方法。打开admin.py文件,如下代码:
1 2 3 4 5 6 7 8 9 |
from django.contrib import admin from blog.models import Blog
#Blog模型的管理器 class BlogAdmin(admin.ModelAdmin): list_display=('id', 'caption', 'author', 'publish_time')
#在admin中注册绑定 admin.site.register(Blog, BlogAdmin) |
上面方法是将管理器和注册语句分开。有时容易忘记写注册语句,或者模型很多,不容易对应。
还有一种方式是用装饰器,该方法是Django1.7的版本新增的功能:
1 2 3 4 5 6 7 |
from django.contrib import admin from blog.models import Blog
#Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): list_display=('id', 'caption', 'author', 'publish_time') |
该方式比较方便明显,推荐用这种方式。
2、admin界面汉化
默认admin后台管理界面是英文的,对英语盲来说用起来不方便。可以在settings.py中设置:
- LANGUAGE_CODE = 'zh-CN'
- TIME_ZONE = 'Asia/Shanghai'
1.8版本之后的language code设置不同:
- LANGUAGE_CODE = 'zh-hans'
- TIME_ZONE = 'Asia/Shanghai'
admin.py
from django.contrib import admin
from supermarket.models import Product
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
list_display=('id', 'name', 'price')
#list_per_page设置每页显示多少条记录,默认是100条
list_per_page = 50
#ordering设置默认排序字段,负号表示降序排序
ordering = ('-created_time',)
#list_editable 设置默认可编辑字段,在列表里就可以编辑
list_editable = ['title', 'user']
#设置哪些字段可以点击进入编辑界面
list_display_links = ('id', 'title')
#设置查找字段
search_fields=['title']