Django站点管理
Posted huanggaoyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django站点管理相关的知识,希望对你有一定的参考价值。
1.概述
一个网站分为前台(普通用户访问)和管理后台(由网站管理员访问)两部分。
管理后台由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模块,需要按照如下步骤操作
管理界面本地化
创建管理员
注册模型类
自定义管理页面
2.配置admin
在settinngs.py文件中的INSTALLED_APPS中添加‘django.contrib.admin‘
3.创建管理员用户
python manage.py createsuperuser
4.登录Django站点管理
浏览器地址输入 127.0.0.1:8000/admin
5.汉化
在settings.py文件中修改
LANGUAGE_CODE = ‘zh-Hans‘ TIME_ZONE = ‘Asia/Shanghai‘
6.修改admin.py文件
from django.contrib import admin from .models import Grade,Student admin.site.register(Grade) admin.site.register(Student)
7.添加数据
8.修改models.py
#班级 class Grade(models.Model): gname = models.CharField(max_length=20) gdate = models.DateField() gnum = models.IntegerField() isDelete = models.BooleanField(default=False) def __str__(self): return self.gname
9.列表页显示修改
- list_display 显示字段
- list_filter 过滤字段
- search_fields 搜索字段
- list_per_page 列表分页
10.中文标题
class Student(models.Model): sname = models.CharField(max_length=20,verbose_name="学生姓名") ......
11.添加修改页
class studentAdmin(admin.ModelAdmin): # 修改列表页 list_display = [‘id‘, ‘sname‘, ‘sage‘, ‘sinfo‘, ‘sgrade_id‘,‘isDelete‘] list_filter = [‘sgrade_id‘] search_fields = [‘sname‘] list_per_page = 5 # 修改添加修改页 # fields = [‘sname‘,‘sgrade‘, ‘sinfo‘, ‘sage‘, ‘isDelete‘] fieldsets = [ ("学生信息", {"fields": [‘sname‘, ‘sage‘,‘sinfo‘]}), ("班级信息", {"fields": [‘sgrade‘]}), ("其它信息", {"fields": [‘isDelete‘]}), ] # 注册 admin.site.register(Student,studentAdmin)
12.外键关联
# 关联对象 class Grade_tudent(admin.TabularInline): model = Student extra = 1 class GradeAdmin(admin.ModelAdmin): # 关联对象 inlines = [Grade_tudent]
13.布尔值显示修改
class studentAdmin(admin.ModelAdmin): # 修改布尔类型值显示 def gender(self): if self.sgender: return "男" else: return "女" # 修改列表页 list_display = [‘sname‘,‘sage‘,gender, ‘sinfo‘, ‘sgrade‘,‘isDelete‘]
14.操作选项的位置
# 动作执行的位置 actions_on_top = False actions_on_bottom = True
15. django-admin后台美化
1)pip安装grappelli
pip install django-grappelli
2)settings.py中添加
INSTALLED_APPS = ( ‘grappelli‘, #必须在‘django.contrib.admin‘之前 ‘django.contrib.admin‘, )
3)urls.py中添加映射关系
(r‘^grappelli/‘,include(‘grappelli.urls‘)),
4)settings.py中添加
ADMIN_MEDIA_PREFIX = STATIC_URL + "grappelli/" #把admin的静态文件,由原来的admin目录,改为映射到static目录下的 grapplli.GRAPPELLI_ADMIN_TITLE=‘BBS后台管理系统‘#更改grappellie的登入title
5)静态文件根目录
STATIC_ROOT=BASE_DIR+‘/static/‘ #把静态文件放置于项目文件所在的static文件夹
6)收集静态文件
python manage.py collectstatic
效果预览
以上是关于Django站点管理的主要内容,如果未能解决你的问题,请参考以下文章
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段