Django的admin定制
1,models编写
#encoding=utf-8
from django.db import models # Create your models here.
class BookInfo(models.Model): #创建书本信息类,继承models.Model
booktitle=models.CharField(max_length=20)
bookdata=models.DateField()
def __unicode__(self): #设置后台数据显示信息
return self.booktitle
class HeroInfo(models.Model): #创建英雄信息类
heroname=models.CharField(max_length=10)
herosex=models.CharField(max_length=1)
herocontent=models.CharField(max_length=50)
herobook=models.ForeignKey('BookInfo',on_delete=models.CASCADE,) #引用外键,即BookInfo对象
def __unicode__(self): #设置后台数据显示信息
return self.heroname
2,settings配置
app注册:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'web'
]
数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'web',
'USER': 'root',
'PASSWORD': 'Lifei@123',
'HOST': 'localhost',
'PORT': '',
}
}
3,__init__文件配置(django版本高于1.8的不支持MySQLdb,选择使用pymsql,所以需要在init文件中作如下配置)
import pymysql
pymysql.install_as_MySQLdb()
4,在migrations中生成数据迁移文件,同步表结构(创建表)
当表结构发生变化时需要进行再次生成数据迁移文件和同步表结构的操作
5,创建admin的superuser
在manage.py统计目录下,执行:python manage.py createsuperuser 即可
6,admin定制(简单版)
from django.contrib import admin
from web import models #导入app的models
# Register your models here. class bookinfo(admin.ModelAdmin): #自定义页面显示(创建数据后的数据显示格式)
list_display = ('booktitle','bookdata')
class heroinfo(admin.ModelAdmin):
list_display = ('heroname','herosex','herocontent','herobook') admin.site.register(models.BookInfo,bookinfo) #注册表 后台管理
admin.site.register(models.HeroInfo,heroinfo)
ps:遇到数据库版本小于1.3.3报错(mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)的情况,需要去修改C:\Python36\Lib\site-packages\django\db\backends\mysql的base.py文件。
遇到MySQLdb模块找不到的情况,需要去修改C:\Python36\Lib\site-packages\django\db\backends\mysql的base.py文件和introspection.py文件,将其中的from MySQLdb import XXX中的MySQLdb改为我们使用的pymysql即可。
附图:



参考资料:http://www.cnblogs.com/alex3714/articles/5457672.html
Django的admin定制的更多相关文章
- 【django之admin,单例模式】
一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...
- Django之admin的使用和源码剖析
admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...
- Django 之 admin管理工具
-------------------------------------------------------------------------妄尝恶果,苦果自来. admin组件使用 Django ...
- IO操作、PIL使用、Django的admin操作
操作内存的流-StringIO | BytesIO from io import StringIO, BytesIO #创建操作字符串的内存流 sf = StringsIO() #往内存中写 sf.w ...
- python框架之Django(13)-admin组件
使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLED_APPS ...
- django之admin设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...
- django中admin的使用
转载网址:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理 ...
- Django的 admin管理工具
admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...
- 自定义Django的admin界面
第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的"杀手级特性",并且大多数Django开发人员很快爱上了它节 ...
随机推荐
- 1高并发server:多路IO之select
1 select A:select能监听的文件描写叙述符个数受限于FD_SETSIZE,一般为1024.单纯改变进程打开 的文件描写叙述符个数并不能改变select监听文件个数 B:解决1024 ...
- (五)EasyUI使用——datagrid数据表格
DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识.它是轻量级的且功能丰富.单元格合并. ...
- 锁定窗口,禁止更新的win32函数
[DllImport("user32.dll", EntryPoint = "LockWindowUpdate", SetLastError = true, E ...
- Visual Studio提示“无法启动IIS Express Web服务器”或者“无法连接Web服务器IIS Express ”的解决方法
解决办法:找到程序根目录,删除隐藏的.vs文件夹即可. 问题原因:一般是项目拷贝或者系统设置变更所造成的.
- 【设计模式 7】从公司的目前框架和API Gateway,谈谈对外观模式的理解
我,第一次用到外观模式,应该是3年多以前.那时候是做一个收费系统,在当时的U层和B层之间,加了一层Facade.当时,在一些复杂的业务逻辑处理时,感受到了加入外观层的好处,但对于一些简单的(我指的是, ...
- mac使用git管理Github
工欲善其事,必先利其器. 在OS X Yosemite 10.10.3安装最新版本号Xcode.在terminal下能够发现git已经被安装. ~ mesut$ git --version git v ...
- 过滤NSString中的Emoji
有时候由于项目需求.要过滤NSString中的emoji. 比方下面情况: 要跟android互通,android假设还没做这方面的支持. 内容做为手机短信发出去. 思路例如以下,遍历NSString ...
- javacript计时
简单的计时: var t=setTimeout("alert('5 秒!')",5000) 无限计时: var c=0 var t function timedCount() { ...
- html 标签 链接
<a href="http://www.baidu.com">百度</a> <a href="#here">here< ...
- mockito模拟静态方法
这里要用到使用powerMock 注意点: 1 @RunWith(PowerMockRunner.class) 2 PowerMockito.mockStatic(StaticTest.class); ...