8. 在 django admin 后台发布我们的文章
本教程内容已过时,更新版教程请访问: 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 页面,看到效果好多了。