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定制的更多相关文章

  1. 【django之admin,单例模式】

    一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...

  2. Django之admin的使用和源码剖析

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...

  3. Django 之 admin管理工具

    -------------------------------------------------------------------------妄尝恶果,苦果自来. admin组件使用 Django ...

  4. IO操作、PIL使用、Django的admin操作

    操作内存的流-StringIO | BytesIO from io import StringIO, BytesIO #创建操作字符串的内存流 sf = StringsIO() #往内存中写 sf.w ...

  5. python框架之Django(13)-admin组件

    使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLED_APPS ...

  6. django之admin设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

  7. django中admin的使用

    转载网址:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html     Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理 ...

  8. Django的 admin管理工具

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...

  9. 自定义Django的admin界面

    第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的"杀手级特性",并且大多数Django开发人员很快爱上了它节 ...

随机推荐

  1. 通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)

    // ReverseFileDemo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> ...

  2. 剑指Offer-正则表达式匹配(Python)

    1 题干内容 请实现一个函数用来匹配包括.和*的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. 例如,字 ...

  3. Mac和Windows上Android Studio经常使用的快捷键

    小编整理了一些Mac和Windows上超有用的Android Studio经常使用的快捷键. Ctrl(Command)+Y 删除行 Ctrl(Command)+Z 倒退 Ctrl(Command)+ ...

  4. 从零開始学Java之线程具体解释(1):原理、创建

    Java线程:概念与原理 一.操作系统中线程和进程的概念 如今的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中执行的应用程序.每一个进程都有自己独立的一块内存空间.一个进 ...

  5. Atitit.木马病毒 webftp 的原理跟个设计

    Atitit.木马病毒 webftp 的原理跟个设计 ftp木马的效果 文件传播 文件列表 文件内容查看 作者::  ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Att ...

  6. Restore IP Addresses -- LeetCode

    原题链接: http://oj.leetcode.com/problems/restore-ip-addresses/  这道题的解法很接近于NP问题.也是採用递归的解法. 基本思路就是取出一个合法的 ...

  7. C#实现插件的“动态替换”

    如果某个"功能"需要动态更新?这种动态更新,可能是需求驱动的,也可能是为了修改 BUG,面对这种场景,如何实现“热插拔”呢?先解释一下“热插拔”:在系统运行过程动态替换某些功能,不 ...

  8. iOS10开发需要注意的一些问题(转)

    兼容iOS 10 资料整理笔记 2016-09-17 判若两人丶 CocoaChina ▲点击上方“CocoaChina”关注即可免费学习iOS开发 原文链接:http://www.jianshu.c ...

  9. 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用

    http://www.importnew.com/13246.html     首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 - 首页 所有文章 资讯 ...

  10. java 调用cmd命令

    public class Port{ public static void main(String[] args) { Runtime runtime=Runtime.getRuntime(); tr ...