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. [BZOJ1192][HNOI2006]鬼谷子的钱袋 数学

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1192 大水题,把m分成二的幂次方和. #include<cstdio> #in ...

  2. html----有关图像

    这一节内容可概括为:网页上插入图片,调整图片大小,使用缩略图链接至大图. 图片的三种格式:jpeg     png    gif 照片.复杂图像使用jpeg,单色图像.logo.几何图形使用png以及 ...

  3. 直接插入排序法原理及其js实现

    直接插入排序法就像我们打扑克牌时整理牌面一样,先让我们脑补一下我们打牌的过程. 首先摸了一张6, 接着摸到一张4,比6小,插到6的前面: 又摸到一张7,比6大,插到6的后面: 又摸到一张5,比6小,比 ...

  4. 图解 TCP/IP 第六章 TCP与UDP 笔记6.1 传输层的作用

     图解 TCP/IP  第六章 TCP与UDP   笔记6.1 传输层的作用   传输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别码.根据端口号,就可以识别在传输层上一层的应用程 ...

  5. 镜像中的 Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的区别?

    everything: 对完整版安装盘的软件进行补充,集成所有软件 GnomeLive , GNOME桌面版 KdeLive , KDE桌面版 livecd 光盘上运行的系统 ,NetInstall ...

  6. 关于Qt模态框总汇

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7285710.html 父窗体为QMainWindow: 当子窗体为: 1.QWidget,需要设置 this- ...

  7. 这是一条立了Flag的不归路

    时间2017年7月11日 14:48:40 首次激活博客园的博客来进行学习记录,立下了不算远大的小目标,下一步就是要一步一步的往前走. Java是目前最普遍的使用语言之一,作为一名测试,本应该去学习更 ...

  8. Python_练习_VS清理器

    #导入os import os #创建列表放入后缀 d=[ '.txt','obj','tlog','lastbuildstate','idb','pdb','pch','res','ilk','sd ...

  9. 获取tomcat服务器上的部分日志

    Linux下tomcat的日志很大,有的几G大,要用什么工具查看或把日志文件拆解? 一般习惯用 tail 的方式在服务器查看.如果要取下 可以用 tail -2000 xxxx.log > te ...

  10. java_线程的同步机制

    1.同步代码块: 使用synchronized包住可能会出现安全问题的代码 import static java.lang.Thread.sleep; class Test01{ public sta ...