码迷,mamicode.com
首页 > 其他好文 > 详细

Django - admin后台、auth权限

时间:2018-06-08 15:43:57      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:creat   管理   view   div   isp   HERE   obj   搜索框   soft   

admin后台篇

 

一、创建一个管理员用户

(1).设置时区、语言(可选步骤)

打开settings.py,改成下面那样

技术分享图片
LANGUAGE_CODE = zh-Hans
TIME_ZONE = Asia/Shanghai
View Code

(2).执行命令python manage.py createsuperuser

(3).按提示输入用户名、邮箱、密码(密码至少需要8位)

(4).启动服务,访问 127.0.0.1:8000/admin 即可进入站点管理

 

二、向admin注册模型

技术分享图片
#----------admin.py---------
from django.contrib import admin
# Register your models here.
from .models import Department,Student,Course

admin.site.register(Department)
admin.site.register(Student)
admin.site.register(Course)
View Code

 

三、自定义管理页面

Django提供了admin.ModelAdmin类通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式

(一).列表页属性

(1).list_display:显示字段,可以点击列头进行排序

(2).list_filter:过滤字段,过滤框会出现在右侧

(3).search_fields:搜索字段,搜索框会出现在上侧

(4).list_per_page:分页,分页框会出现在下侧

(二).示例

(1).先写好模型

技术分享图片
#-----models.py------
class Department(models.Model):
    d_id = models.AutoField(primary_key=True)
    d_name = models.CharField(max_length=30)
    def __str__(self):
        return Department<d_id=%s,d_name=%s>%(
            self.d_id,self.d_name
        )

class Student(models.Model):
    s_id = models.AutoField(primary_key=True)
    s_name = models.CharField(max_length=30)
    department = models.ForeignKey(Department)
    course = models.ManyToManyField(Course)
    def __str__(self):
        return Student<s_id=%s,s_name=%s>%(
            self.s_id,self.s_name
        )


class Course(models.Model):
    c_id = models.AutoField(primary_key=True)
    c_name = models.CharField(max_length=30)
    def __str__(self):
        return Course<c_id=%s,c_name=%s>%(
            self.c_id,self.c_name
        )
View Code

(2).在该模型的app中的admin.py

技术分享图片
# -----------admin.py--------
from django.contrib import admin

# Register your models here.
from .models import Department,Student,Course

class DepartmentAdimin(admin.ModelAdmin):
    list_display = [d_id,d_name]
    list_display_links = [d_id,d_name]
    list_filter = [d_id]
    search_fields = [d_name]

class StudentAdimin(admin.ModelAdmin):
    list_display = [s_id,s_name]
    list_display_links = [s_id,s_name]

class CourseAdmin(admin.ModelAdmin):
    list_display = [c_id,c_name]
    list_display_links = [c_id,c_name]
    list_per_page = 5

admin.site.register(Department,DepartmentAdimin)
admin.site.register(Student,StudentAdimin)
admin.site.register(Course,CourseAdmin)
View Code

  


 

 

auth权限篇 

 

一、使用视图方式创建一个超级用户

技术分享图片
from django.contrib.auth.models import User
User.objects.create_user(username="yyyyyy",password="yyyyyy",email="xxx@yyy.zzz")
View Code

 

 

二、验证用户

不需要再用之前的filter().first()方式了,直接用django封装好的方法

技术分享图片
from django.contrib.auth import authenticate
user = authenticate(username=username,password=password)
View Code

 

Django - admin后台、auth权限

标签:creat   管理   view   div   isp   HERE   obj   搜索框   soft   

原文地址:https://www.cnblogs.com/quanquan616/p/9155586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!