Django之模型注册
接着上一篇: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之模型注册的更多相关文章
- Django:将模型注册到后台的几种方法
from django.contrib import admin from .models import * #将模型注册到后台: #方法一:将模型直接注册到后台 # admin.site.regis ...
- python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)
昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...
- 四、Django之模型与管理后台-Part 2
一.数据库安装 打开mysite/settings.py配置文件,这是整个Django项目的设置中心.Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装 ...
- django中介模型,CBV模型,及logging日志配制
1.中介模型 中介模型,这个是在我们创建表格时,多对多添加的时候应用到的,通过制定ManyToManyField字段中的through参数来定义,为两者的关系新建一个中介class 为什么会产生这个中 ...
- Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介
没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...
- Django的模型与字段
Django的模型,包含字段field和操作方法,每个模型在数据库中映射为一张表. 基本原则: 每个model在django中是一个Python类 每个model都是django.db.models. ...
- Django——6 模型基础ORM 数据库连接配置 模型的创建与映射 数据的增删改查
Django Django的ORM简介 数据库连接配置 模型的创建与映射 数据库的增删改查 增数据 查数据及补充 改数据 删数据 Django的ORM系统分析 ORM概念:对象关系映射(Objec ...
- Django入门--模型系统(一):模型基础
1.Django的ORM介绍 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不 ...
- django项目模型字段
一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 ...
随机推荐
- MYSQL 中的日期操作(不包含跨年问题)
先从一个简单的SQL说起 当前week的第一天:select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY): DATE_SUB() 函 ...
- Catalina.createDigester方法详细理解
这个方法主要设置(这个方法很重要,贵在理解,虽然还没学过设计模式..) 1.遇到<server>标签时创建StandardServer实例 设置StandardServer类内部的相关 ...
- tomcat启动(五)Catalina分析-service.init
上篇写到StandardService.init() 这个方法做什么呢?一起来看看. 这个类也是实现了Lifecycle 如图.这个图中i表示Interface接口.如Lifecycle,Contai ...
- 神经网络中的池化层(pooling)
在卷积神经网络中,我们经常会碰到池化操作,而池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善结果(不易出现过拟合).为什么可以通过降低维度呢? 因为图像具有一种“静态性”的属性,这 ...
- docker 创建jdk镜像
基于上一个创建的基础镜像, wenbronk/centos Dockerfile ############################################ # version : we ...
- 打包命令tar
tar是linux下最常用的打包命令,使用tar打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,也有.gz或.bz2结尾的. 1 常用参数 -c,--create # 新建打 ...
- The best career advice I’ve received --转载
http://www.nczonline.net/blog/2013/10/15/the-best-career-advice-ive-received/ The best career advice ...
- APP消息推送机制的实现(PUSH)
出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/artic ...
- awk把第1列相同的第2列按“;”拼起来,最后输出第1列和拼起来的结果
[root@localhost cc]# cat 2.txt adc 3 5 a d aa 3 adfa d ba 3 adf 第1列相同的第2列按";"拼起来,最后输出第1列和拼 ...
- elasticsearch 分布式集群搭建
elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html 本文以Elaticsearch 6.2.2 ...