2013-08-06 22:24:06|

 
        1.创建模型

         (1) "mysite\blog\models.py"文件中的内容:

# -*- coding:utf-8 -*-
from django.db import models
 
class Group(models.Model):
    """日志的分类"""
    group = models.CharField(max_length=30)
    def __unicode__(self):  # __unicode__() 方法告诉Python如何将对象以unicode的方式显示出来
        return self.group
 
class Article(models.Model):
    """日志"""
    title = models.CharField(max_length=150)
    body = models.TextField()
    group = models.ForeignKey(Group)
    timestamp = models.DateTimeField(auto_now_add=True)  # 创建文章的时间 
    last_time = models.DateTimeField(auto_now=True)  # 最后一次修改的时间 
    def __unicode__(self):  #  __unicode__() 方法告诉Python如何将对象以unicode的方式显示出来
        return self.title
 
    class Meta:  # 使用Meta类,设置一些与特定模型相关的选项
        ordering = ['-timestamp']
 
    def get_body_part(self):
        return self.body[:80]  # 输出日志内容的前面80个字符
 

  2. 创建数据库表

(1) 验证模型有效性:  python manage.py validate

 

(2) 生成 CREATE TABLE 语句:python manage.py sqlall blog

(3) 提交SQL语句至数据库:python manage.py syncdb

 

3.将Models加入到Admin 管理中

(1) 创建文件"admin.py",文件路径为"mysite\blog\admin.py",内容:

from django.contrib import admin

from blog.models import Article, Group

admin.site.register(Article)

admin.site.register(Group)

(2) 打开http://localhost:8000/admin,看到可以管理blog应用中的内容:

 
      (3) 通过管理页面添加日志
 
 

4.自定义ModelAdmi类

"blog\admin.py"文件中:

class ArticleAdmin(admin.ModelAdmin):

    list_display = ('title', 'body', 'timestamp')  # 允许管理员指定列表中的字段

    search_fields = ('title', 'body')  # 添加一个快速查询栏

    list_filter = ('timestamp',)  # 添加过滤器

    date_hierarchy = 'timestamp' 

    ordering = ('-timestamp',)  # 改变默认的排序方式,按timestamp降序排列

    fields = ('title', 'body', 'group')  # 自定义编辑表单,排除一些不想被其他人编辑的fields 

admin.site.register(Article, ArticleAdmin)

创建Django项目(四)——模型的更多相关文章

  1. 创建Django项目(三)——站点管理

    2013-08-05 21:01:34|         1.激活管理界面         (1) 修改"mysite\mysite\settings.py"文件,将'django ...

  2. 第三百零三节,Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  3. 一 Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  4. Django-下载安装-配置-创建django项目-三板斧简单使用

    目录 Django 简介 使用 django 的注意事项 计算机名不能有中文 Django版本问题 django下载安装 在命令行下载安装 在pycharm图形界面下载安装 检验是否安装成功 创建Dj ...

  5. PyCharm创建Django项目并连接mysql数据库

    0. 安装Django pip install django 1. 新建项目 注:我的Pycharm为社区版,创建项目时,File->New Project- 显示为: ​ 注意勾选内容. 如果 ...

  6. python创建Django项目

    创建Django项目 关注公众号"轻松学编程"了解更多. 创建一个HelloDjango项目 GitHub地址:https://github.com/liangdongchang/ ...

  7. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  8. 在Eclipse中创建Django项目

    在以前的分享中,我们是在命令行模式下创建Django项目的,那么,如何在IDE中使用Django呢? 本文将介绍如何在Eclipse中创建Django项目. 首先,新建Django项目mysite,如 ...

  9. Python——Pycharm创建Django项目

    一.Django的官网 地址:https://www.djangoproject.com/download/ 注:LTS表示一直在维护的版本,建议是带LTS的版本 二.Pycharm下载Django ...

  10. 学以致用三十-----pycharm创建django项目忘记添加app

    记忆力有时候真的不是很好.因此有些操作步骤还是记录下来好了. pycharm版本-----2018.2.4 创建django项目 file-----newproject----- 创建的时候,appl ...

随机推荐

  1. C# Equals的重写

    using System; using System.Collections.Generic; using System.Text; namespace Equal {     using Syste ...

  2. GCC的函数声明问题

    Thinking in C++ 第四章 GCC 不需要再MAIN函数前声明 编译也能通过. G++不行.

  3. 在SQLServer 2005附加SQLServer 2008数据库异常处理

    远程服务器软件系统不算新,数据库是SQL Server 2005.本地开发基本是用新的软件系统.数据库采用SQL Server 2008. 这样在用远程服务器SQL 2005选择附加SQL 2008的 ...

  4. CSS——BFC

    http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html 元素若不是bfc,那么内部浮动元素的高度不参与计算 元素若不是bf ...

  5. Sublime Text 2/3 输入法修复[Ubuntu(Debian)]

    一直想找一个可以替代sublime的IDE主要还是hi因为没有好的方法解决中文输入的问题, 今天在网上找到一个非常不错的方法,亲自实验是可行的,就记录下来了,我的系统是ubuntu16.04 Subl ...

  6. [分享] IMX6嵌入式开发板linux QT挂载U盘及TF卡

    本文转自迅为开发板:http://www.topeetboard.com 开发平台:iMX6开发板 linux QT 系统下挂载 u 盘如下图所示,qt 启动之后,在超级终端中使用命令“mknod / ...

  7. Flex 布局 (两个div居中自适应 宽度变小变一列,宽度够就是两列)

    https://www.runoob.com/w3cnote/flex-grammar.html display: flex; justify-content: center; align-items ...

  8. LINUX:解压问题tar: Child returned status

    解压某个文件时 #tar -zxvf xxxxx.tar.gz 出现下面的错误提示: gzip: stdin: not in gzip formattar: Child returned status ...

  9. pip install MySQL-python error "can't open config-win.h"

    http://blog.csdn.net/xxm524/article/details/48754139

  10. Bitmap.createBitmap函数有6个重载方法

    位图剪切参考重载方法4和6,重载方法6比较简单 public static Bitmap createBitmap (Bitmap src)从原位图src复制出一个新的位图,和原始位图相同 publi ...