最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Django2练习项目:开发个人博客系统(2)

Django教程 小楼一夜听春语 8011浏览 0评论

这一篇教程,我们为创建好的数据库添加一些必要的测试内容。

站点的后台,我们使用Django2自带的后台。

主要操作如下:

  1. 创建超级用户的用户名与密码。
  2. 登录后台,将后台页面语言设置为中文。
  3. 将模型注册到后台。

前两步操作,大家可以参考《Django2:Web项目开发入门笔记(12)》。

第三步操作,将模型注册到后台与之前的教程中略有不同。

示例代码:

from django.contrib import admin
from blog.models import *  # 导入所有模型类

@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title', 'category', 'pub_time')  # 文章列表的显示项

admin.site.register((Category, Comment, Tag))  # 多个模块注册到后台

因为想在后台显示文章管理列表时,不仅仅显示一个文章的标题,所以,在上方代码中,文章模型注册到后台时需要指定这些项。

实现的方法是定义了一个文章管理的类“ArticleAdmin”继承自模块管理类“admin.ModelAdmin”,并通过装饰器“@admin.register”进行装饰,完成注册。

实际上“ArticleAdmin”类只是在定义一个管理列表,特性“list_display”是在这个列表中显示出来的所有列,至于这个列表是什么数据的列表,取决于装饰器参数中填入的模型类的名称“Article”,与类名“ArticleAdmin”并没有什么关系。

除此之外,其他的模型类,我们直接注册,无需进行更多处理。

这里的处理方法是将多个模型类放入了同一个元组中,变成了一个可迭代对象,并将这个可迭代对象作为“admin.site.register()”方法的参数,完成了多个模型的注册。

当我们完成上面的操作,就可以在Django的后台中添加测试数据了。

添加文章,是我们当前主要要添加的测试数据内容,添加分类以及添加相应的标签,可以在添加文章的同时进行添加。

不过,不要忘了先在文章分类添加一个分类编号为“1”,名称为“未分类”的默认分类。

如果大家找不到相应的测试文章,大家可以在本站复制文章内容添加到数据库中。

但是要注意,复制的文章内容需要带有样式。

具体的操作方法为:

1、打开需要复制的文章页面;

2、页面上点击鼠标右键选择查看网页源代码的选项;

3、在网页源代码中找到文章内容的部分,将所有内容进行复制;

4、在Django后台添加一篇新的文章,将复制的内容粘贴到文章的内容编辑框中。

注意:在复制文章内容时,只应包含与段落、文本样式、图片、列表、代码相关的标签,不应包含其他标签,例如“<div>”层标签。

转载请注明:魔力Python » Django2练习项目:开发个人博客系统(2)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (3)

  1. 头像
    楼主,为啥Category这个类在管理页面无法显示为中文呢?
    时间的切面5年前 (2018-12-26)回复
    • 小楼一夜听春语
      http://www.opython.com/1002.html
      小楼一夜听春语5年前 (2018-12-27)回复
    • 头像
      肯定是代码的问题 class Meta: verbose_name_plural = verbose_name = '类别' 这样就肯定没问题
      lkzhang5年前 (2019-05-17)回复