接着上一篇:Django之创建项目

目的:一个空项目创建好了,我们在models.py中新增3张表并在admin界面中显示,并能操作它们。

示例models

编辑models.py

# -*- coding:utf-8 -*-
from __future__ import unicode_literals from django.db import models # Create your models here.
class Blog(models.Model):
name = models.CharField(max_length=100,verbose_name=u"博文名称")
tagline = models.TextField(verbose_name=u"标注") def __unicode__(self):
return self.name class Meta:
verbose_name = "博客主题"
verbose_name_plural = "博客主题" class Author(models.Model):
name = models.CharField(max_length=50,verbose_name=u"姓名")
email = models.EmailField(verbose_name=u"邮箱") class Meta:
verbose_name = "作者"
verbose_name_plural = "作者" class Entry(models.Model):
blog = models.ForeignKey(Blog)
headling = models.CharField(max_length=255,verbose_name=u"标头")
body_text = models.TextField(verbose_name=u"博体")
pub_date = models.DateField(verbose_name=u"发布日期")
mod_date = models.DateField(verbose_name=u"修改日期")
authors = models.ManyToManyField(Author)
n_comments = models.IntegerField(verbose_name=u"备注")
n_pingbacks = models.IntegerField()
rating = models.IntegerField() def __unicode__(self):
return self.headling class Meta:
verbose_name = "博文"
verbose_name_plural = "博文"

模型注册到admin

from django.contrib import admin

# Register your models here.
from sqlOper import models class AuthorAdmin(admin.ModelAdmin):
list_display = ('name','email') class BlogAdmin(admin.ModelAdmin):
list_display = ('name','tagline') class EntryAdmin(admin.ModelAdmin):
list_display = ('headling','pub_date','mod_date','n_comments') # admin.site.register([models.Blog,models.Author,models.Entry])
admin.site.register(models.Blog,BlogAdmin)
admin.site.register(models.Author,AuthorAdmin)
admin.site.register(models.Entry,EntryAdmin)

将表实例化到数据库

>python manage.py makemigrations
Migrations for 'sqlOper':
sqlOper\migrations\0001_initial.py:
- Create model Author
- Create model Blog
- Create model Entry >python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions, sqlOper
Running migrations:
Applying sqlOper.0001_initial... OK

创建超级用户

D:\py\python\spiders\django\djangoStudy>python manage.py createsuperuser
Username (leave blank to use 'administrator'): admin
Email address: 2905@qq.com
Password:
Password (again):
Superuser created successfully.

登陆界面,输入超级用户名/密码

现在可以对你的表进行操作了,添加一些作者、博客,内容信息吧。

关于中文的问题

1、django-admin界面显示中文

  修改settings.py

    LANGUAGE_CODE = 'zh_Hans'

    TIME_ZONE = 'Asia/Shanghai'

 最新的django版本(1.9)中只有zh_Hans,可以将其复制为zh_CN

2、admin中新建表显示中文

  使用django中的原类Meta

  选项参考:http://kaozjlin.iteye.com/blog/1662617

Django之模型注册的更多相关文章

  1. Django:将模型注册到后台的几种方法

    from django.contrib import admin from .models import * #将模型注册到后台: #方法一:将模型直接注册到后台 # admin.site.regis ...

  2. python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)

    昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

  3. 四、Django之模型与管理后台-Part 2

    一.数据库安装 打开mysite/settings.py配置文件,这是整个Django项目的设置中心.Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装 ...

  4. django中介模型,CBV模型,及logging日志配制

    1.中介模型 中介模型,这个是在我们创建表格时,多对多添加的时候应用到的,通过制定ManyToManyField字段中的through参数来定义,为两者的关系新建一个中介class 为什么会产生这个中 ...

  5. Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介

    没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...

  6. Django的模型与字段

    Django的模型,包含字段field和操作方法,每个模型在数据库中映射为一张表. 基本原则: 每个model在django中是一个Python类 每个model都是django.db.models. ...

  7. Django——6 模型基础ORM 数据库连接配置 模型的创建与映射 数据的增删改查

    Django Django的ORM简介 数据库连接配置 模型的创建与映射 数据库的增删改查 增数据 查数据及补充 改数据 删数据   Django的ORM系统分析 ORM概念:对象关系映射(Objec ...

  8. Django入门--模型系统(一):模型基础

    1.Django的ORM介绍 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不 ...

  9. django项目模型字段

    一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 ...

随机推荐

  1. 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  2. Python -- 网络编程 -- 认识Python3的urllib库

    Python3的urllib包含5个模块 urllib error parse request response robotparser 各个模块的主要成员: error ['ContentTooSh ...

  3. Java虚拟机(五):JVM调优命令

    运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...

  4. DataTable的Ajax使用

    DataTable Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官网: https://datatables.net/ 中文网: ...

  5. [转]使用EntityFramework6.1的DbCommandInterceptor拦截生成的SQL语句

    本文转自:http://www.cnblogs.com/Ax0ne/p/3620958.html 开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.En ...

  6. Python操作 Memcache、Redis

    Python操作 Memcached.Redis 一.Memcached和Redis对比 1.1 Memcached和Redis的数据类型对比 memcached只有一种数据类型,key对应value ...

  7. elasticsearch java使用

    本文将介绍如何使用java调用elasticsearch的api 1.获取client连接 package com.test.elasticsearch; import java.net.InetAd ...

  8. Jquery ui draggable在chrome和ie7下的bug

    当页面足够长,向下滚动一些之后, 在拖动时,被拖动的div会向下产生滚动距离那么高(scrolltop)的差距 鼠标位置距div顶部差距了正好页面scroll的距离,页面scoll越多差的越多. 解决 ...

  9. 安装完xampp启用时,计算机中丢失api-ms-win-crt-conio-l1-1-0.dll怎么办?

    安装完xampp启用时,计算机中丢失api-ms-win-crt-conio-l1-1-0.dll怎么办 api-ms-win-crt-conio-l1-1-0.dll 第一步:我们需要下载缺失的这个 ...

  10. java SE 入门之运算符(第三篇)

    在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...