7 - 在 Django Admin 后台发布文章
2017-05-20 11:54
267 查看
在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 Admin 后台来发布我们的博客文章。
注意:在命令行输入密码时可能不会显示输入的字符,不要以为键盘坏了,照正常的方式输入密码即可。
激活虚拟环境,运行开发服务器,访问 http://127.0.0.1:8000/admin/ ,就进入了到了Django Admin 后台登录页面,输入刚才创建的管理员账户密码就可以登录到后台了。
![](http://opsbzmsv1.bkt.clouddn.com/Django%20Admin%20%E5%90%8E%E5%8F%B0.png)
可以看到我们刚才注册的三个模型了,点击 Posts 后面的增加按钮,将进入添加 Post 的页面,也就是新增博客文章。然后在相关的地方输入一些测试用的内容,增加完后点击保存,这样文章就添加完毕了,你也可以多添加几篇看看效果。注意每篇文章必须有一个分类,在添加文章时你可以选择已有分类。如果数据库中还没有分类,在选择分类时点击 Category 后面的 + 按钮新增一个分类即可。
![](http://opsbzmsv1.bkt.clouddn.com/Django%20Admin%20%E5%90%8E%E5%8F%B0%E6%96%B0%E5%A2%9E%E6%96%87%E7%AB%A0.png)
你可能想往文章内容中添加图片,但目前来说还做不到。在支持 Markdown 语法部分中将介绍如何在文章中插入图片的方法。
访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加的文章列表了,下面是我所在环境的效果图:
![](http://opsbzmsv1.bkt.clouddn.com/%E5%8D%9A%E5%AE%A2%E9%A6%96%E9%A1%B5%E6%98%BE%E7%A4%BA%E7%9A%84%E6%96%87%E7%AB%A0%E5%88%97%E8%A1%A8.png)
由于如何定制 Admin 后台不是本教程的重点,这里只是为了简单地到达期望效果,因此不再对上述代码做过多解释。
刷新 Admin Post 列表页面,可以看到显示的效果好多了。
![](http://opsbzmsv1.bkt.clouddn.com/%E5%AE%9A%E5%88%B6%E5%90%8E%E7%9A%84%20Admin%20%E6%96%87%E7%AB%A0%E5%88%97%E8%A1%A8%E9%A1%B5.png)
如果遇到问题,请通过下面的方式寻求帮助。
在 在 Django Admin 后台发布文章 - 追梦人物的博客 的评论区留言。
将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。
更多Django 教程,请访问 追梦人物的博客。
创建 Admin 后台管理员账户
要想进入Django Admin 后台,首先需要创建一个超级管理员账户。我们在 让 Django 完成翻译:迁移数据库 中已经创建了一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以运行python manage.py createsuperuser命令新建一个:
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.
注意:在命令行输入密码时可能不会显示输入的字符,不要以为键盘坏了,照正常的方式输入密码即可。
在 Admin 后台注册模型
要在后台注册我们自己创建的几个模型,这样 Django Admin 才能知道它们的存在,注册非常简单,只需要在 blog\admin.py 中加入下面的代码: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 Admin 后台登录页面,输入刚才创建的管理员账户密码就可以登录到后台了。
![](http://opsbzmsv1.bkt.clouddn.com/Django%20Admin%20%E5%90%8E%E5%8F%B0.png)
可以看到我们刚才注册的三个模型了,点击 Posts 后面的增加按钮,将进入添加 Post 的页面,也就是新增博客文章。然后在相关的地方输入一些测试用的内容,增加完后点击保存,这样文章就添加完毕了,你也可以多添加几篇看看效果。注意每篇文章必须有一个分类,在添加文章时你可以选择已有分类。如果数据库中还没有分类,在选择分类时点击 Category 后面的 + 按钮新增一个分类即可。
![](http://opsbzmsv1.bkt.clouddn.com/Django%20Admin%20%E5%90%8E%E5%8F%B0%E6%96%B0%E5%A2%9E%E6%96%87%E7%AB%A0.png)
你可能想往文章内容中添加图片,但目前来说还做不到。在支持 Markdown 语法部分中将介绍如何在文章中插入图片的方法。
访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加的文章列表了,下面是我所在环境的效果图:
![](http://opsbzmsv1.bkt.clouddn.com/%E5%8D%9A%E5%AE%A2%E9%A6%96%E9%A1%B5%E6%98%BE%E7%A4%BA%E7%9A%84%E6%96%87%E7%AB%A0%E5%88%97%E8%A1%A8.png)
定制 Admin 后台
在 admin post 列表页面,我们只看到了文章的标题,但是我们希望它显示更加详细的信息,这需要我们来定制 Admin 了,在 admin.py 添加如下代码:blog/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 后台不是本教程的重点,这里只是为了简单地到达期望效果,因此不再对上述代码做过多解释。
刷新 Admin Post 列表页面,可以看到显示的效果好多了。
![](http://opsbzmsv1.bkt.clouddn.com/%E5%AE%9A%E5%88%B6%E5%90%8E%E7%9A%84%20Admin%20%E6%96%87%E7%AB%A0%E5%88%97%E8%A1%A8%E9%A1%B5.png)
总结
本章节的代码位于:Step7: publish posts using django admin。如果遇到问题,请通过下面的方式寻求帮助。
在 在 Django Admin 后台发布文章 - 追梦人物的博客 的评论区留言。
将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。
更多Django 教程,请访问 追梦人物的博客。
相关文章推荐
- Django Admin后台管理功能使用(学习版)
- Django自动生成Admin后台管理页面
- django后台上传的图片怎么在admin后台查看和前端显示,MEDIA_URL怎么用?
- Django中admin后台添加富文本编辑器
- django的admin后台注册model并显示
- django 第一个项目-学习搭建博客 (三、Django admin 管理后台)
- django-自带admin后台如何给某些field赋默认值(比如user=request.user)然后隐藏它
- django admin 后台实现三级联动的示例代码
- 自定义django的admin后台action
- django之创建第9个项目-管理后台admin
- 织梦dedecms5.7后台发布文章提示“标题不能为空”解决方法
- 织梦dedecms后台发布文章提示“标题不能为空”
- 织梦dedecms后台发布文章提示“标题不能为空”
- django自带后台admin设置中文
- django admin后台接入tinymce并且支持图片上传
- 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍
- Part 2:模型与后台管理admin站点--Django从入门到精通系列教程
- django-3 admin开启后台配置并展示表内容
- Django--admin后台
- django 学习个人总结 之admin后台的使用,操作