美文网首页Pythonpython学习实践python加油站
8. 在 django admin 后台发布我们的文章

8. 在 django admin 后台发布我们的文章

作者: 追梦人物 | 来源:发表于2017-04-12 15:13 被阅读567次

本教程内容已过时,更新版教程请访问: Django 博客开发入门教程

这是 Django 博客教程的第 8 篇,在阅读此篇教程以前,请确保你已阅读 Django 博客教程的前 7 篇:
1. Django 博客教程:前言
2. 搭建开发环境
3. 建立我们的 django 博客应用
4. 创建 django 博客的数据库模型
5. 让 django 完成翻译——迁移数据库模型
6. django 博客首页视图
7. 真正的 django 博客首页视图

上一节我们完成了博客首页视图的编写,我们希望首页展示我们发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 django 自带的 admin 后台来发布我们的博客文章。

要想进入后台,首先需要创建一个超级管理员账户。我们在迁移数据库一节中已经创建了一个后台账户,如果你没有按照前面的步骤创建账户的话,可以运行下面的命令新建一个:

python manage.py createsuperuser

Username (leave blank to use 'zmrenwu@163.com'):  admin
Email address:  admin@example.com
Warning: Password input may be echoed.
Password:  ******
Warning: Password input may be echoed.
Password (again):  ******
Superuser created successfully.

注意:在命令行输入密码时可能不会显示输入的字符,不要以为键盘坏了,照正常的方式输入密码即可。

然后要在后台注册我们自己创建的几个模型,这样 django admin 才能知道他们的存在:

blog/admin.py

from django.contrib import admin
from .models import Post, Category, Tag

admin.site.register(Post)
admin.site.register(Category)
admin.site.register(Tag)

打开开发服务器,访问网址 http://127.0.0.1:8000/admin/ ,就进入了到了登录页面,输入刚才创建的管理员账户密码就可以登录到 django 后台了。

可以看到我们刚才注册的三个模型了,点击 Posts 后面的增加按钮,将进入添加 Post 的页面,也就是新增博客文章。然后在相关的地方输入一些测试用的内容,增加完后点击保存,这样文章就添加完毕了,打开首页,你就可以看到你添加的文章列表。你可以多添加几篇看看效果,下面是我所在环境的一些效果图:

美化 admin 后台

在 admin post 列表页面,我们只看到了文章的标题,但是我们希望它显示更加详细的信息,这需要我们来定制 admin 了,在 admin.py 添加如下代码:

from django.contrib import admin
from .models import Post, Category, Tag

class PostAdmin(admin.ModelAdmin):
    list_display = ['title', 'created_time', 'modified_time', 'category', 'author']

# 把新增的 PostAdmin 也注册进来
admin.site.register(Post, PostAdmin)
admin.site.register(Category)
admin.site.register(Tag)

再次刷新 admin 页面,看到效果好多了。

相关文章

网友评论

  • 王大碗要努力:我的django admin 平台每次打开都特别特别慢,操作快了 就报数据库被锁了,,这是啥原因啊
  • e72d75dc4e53:大神请教下,在blog的admin下注册模型后,在admin中还是不能添加Post啊,不知道什么情况
    e72d75dc4e53:需要重启下服务
  • 713c5ee276b9:每天晚上到家都快九点了 然后一步步跟着学,真的很开心,对于我这个不懂后台的小白 哈哈。 我是不是以后就可以为我的Android客户端提供接口了?:heart_eyes:
    713c5ee276b9:@追梦人物 感谢.....
    追梦人物:@713c5ee276b9 是的。
  • f7d2d1fdaf79:博主,按照教程,在后台post测试文章后,首页还是显示没有发布的文章,不知道哪里出错,不知道博主有没有遇到过
    f7d2d1fdaf79:找到问题了,忘记修改视图函数的代码,哈哈
    f7d2d1fdaf79:@锋_b547 从python manager.py shell查询数据库,是可以查到post的文章内容,可是首页就是显示不出来,问题可能出在index.html
    上,还在排查。。。
    f7d2d1fdaf79:直接用github上的index.html替换,结果还是显示未发布文章,请博主赐教,谢谢
  • 童话小当家:搞定!:v:
  • a51094223fa0:blog能运行起来,为什么打开admin就显示了A server error occurred. Please contact the administrator.这个呢?环境是Python3.5.0,Django1.10.1
    追梦人物:@就这样吧_923e 这就很奇怪了,是完全新建的项目么?
    a51094223fa0:@追梦人物 电脑上有,但是没有开呢,
    追梦人物:@就这样吧_923e 是不是开了什么翻墙代理软件?
  • Absolute_A:老哥,我每天都在等更新呢,给力啊
    追梦人物:@AA艾欧恩 多谢支持
  • xacker:写得不错,从最初的一个blog项目,到现在一步一步的讲
    追梦人物:@xacker 谢谢支持:smile:

本文标题:8. 在 django admin 后台发布我们的文章

本文链接:https://www.haomeiwen.com/subject/ncymattx.html