Django 创建超级用户

时间:2021-05-29 12:38:44

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中设置:

  1. LANGUAGE_CODE = 'zh-CN'
  2. TIME_ZONE = 'Asia/Shanghai'

1.8版本之后的language code设置不同:

  1. LANGUAGE_CODE = 'zh-hans'
  2. 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']

js原生语法获取checkbox值

var _items = [];

var items = document.getElementsByName("itemch_trend”);

for(var i=0;i<items.length;i++) {

if (items[i].checked){

_items.push(items[i].value);

}

}

控制全选或者反选

<input type="checkbox" onclick="checkAll(this, 'NewMainVideoCheckbox1')">

function checkAll(e, name) {

var items = document.getElementsByName(name);

for (var i = 0; i < items.length; i++) {

items[i].checked = e.checked;  或者使用true/false

}

}

python3 eval方法

eval(source[, globals[, locals]])

作用:

将字符串str当成有效的表达式来求值并返回计算结果。参数:source:一个Python表达式或函数compile()返回的代码对象;globals:可选。必须是dictionary;locals:可选。任意map对象。