博客文章发布与管理2-Python博客系统实战图文教程
作者:huke88发布时间:2022年02月14日 08:01

虎课网为您提供字体设计版块下的博客文章发布与管理2-Python博客系统实战图文教程,本篇教程使用软件为Python3、Django 3.2.6 、Mysql5.7、BootStrap3.4.1、 jQuery2.1.3,难度等级为中级拔高,下面开始学习这节课的内容吧!



那就开始今天的教程吧


1.配置完URL和APP之后,settings里边也会对Ckeditor这个组件有一定的配置,大家在用的时候,也是找个项目去复制和粘贴,Ckeditor官方网站上都有相关的代码,Upload的path都放在media下面,


 下面建一层子目录叫uploads,上传的一些图片都会在下面建一个uploads目录,图片处理的时候,比方说创建一些缩略图,这些都是Ckeditor内置好的功能,要给它指定图片的引擎,


 这个时候它支持的也是最常用的就是Pillow,在PyCharm中处理图片的这个三方库,Pillow是首选。

2.还要把model这个数据库表建立,找建表的两个语句,把Base替换成Ver,【Ctrl+R】可以打开替换功能,三张表的这个增加了三个模型,这个时候它映射出三个Model,数据库中刷新表,

 

 会有一个新的表Tag,然后Bloginfo和Tags是映射关系,两个之间的关联在一张表里展示出来,这种ManyToMany必须有第三张表来支持。

3.重启项目,直接登录管理端,现在还是只有用户,要让admin管理相关的内容,应该把三张新的表,Category,Tag,Bloginfor都注册进去,再重新启动一下,然后刷新,新增的博客文章,


 文章的分类,文章的标签就都已经在这里面,比如说添加文章分类,只定义了一个类,类里边定义了一些数据模型,也就是数据库表里面的字段就自动的生成了,这种增删改查的功能非常方便。

4.Category这个表对应两个字段,这个函数写的是Self.name,尝试拼接一个字符串进来,把【Self.desc】拼进来,括号里边就会把desc带着,这个就是SelfStr的模仿方法,来给它加几个标签,


 加Python,比方说Python、Django、Java这种就是标签,也是为了后面的开发更贴近真实的数据,多加几个没关系。

5.来加第一个文章,这里的文章内容是一个富文本编辑器,settings里边配置的就与工具栏一一对应,Save、NewPage、Preview这些都是对应的,需要用就把它加进去,不需要用就把它去掉,


 比如说框体的大小现在是660×200,给它改成960试试,它一定会变大,这些都是可以通过参数来配置的。

6.来测试第一篇博客,先默认都写成今天的日期,字段的类型是【Datetime】,也就会有日期有时间的,这个控件就是你输入的时候,它会给你带着日期加时间的框架,然后文章的摘要,


 就是对于文章内容的简单描述,前面定义的分类就可以选其中的一个,因为标签是一对多的,这里会提示你按住Ctrl多选,因为一个文章可以有很多个标签,然后作者也可以选。

7.比方说如果摘要不输,系统里边Blog info这个摘要是空的,在未来展示的时候它不是特别的美观,要让摘要有一个默认值,这个时候就回到Models,对于文章的这个Models重写它的Save,


 就是说它的父类定义了Save,就是像数据库里插数据的方法,它会有args,一个可变参数,标记一定要有,如果没有说明要么是方法名写错了,要么是里面的参数写的不对。

8.写的不对必须要覆盖父类的这个方法叫重写,这是命令对象里边比较重要的技术,判断self.ex excerpt就是说这个摘要是不是空的,not表示是空的,把摘要给它来一个默认值,


 通过Strip就是要去掉这种标签,用self.body截取它的前100位,因为body是一个富文本编辑器,需要把它的标签都去掉,这个时候会用到Strip的方法,【Tags】这个方法也是。

9.它经常会被包裹在一些比较复杂的网页标签中,Utils.html它是对htm标签进行去除,把里边的inputP,VR等等这些标签都删掉,只留纯文本,截前100位作为摘要,


 这个时候给摘要相当于是赋值默认的初值,但是大家千万不要忘了,父类的Save方法就是原来Save,必须得调用父类的这个方法才行。

10.来写Save然后Kargs,可变参数乘以args,**关键字的可变参数,这种调用方式就相当于调用了父类的Save方法,以当前对象来调用,这句话千万不要落下,落下你数据库里面是拿不到记录的,


  复制粘贴内容,为了后面的归档换一个月份,最后修改日期选今天,随便选Ckeditor,保存完之后数据库刷新,现在这个数据库里有东西,它是从Body里边截取出来的,就截取了前面的100个字节。

11.比方说文章的列表想显示多列,不能只是文章标题的这一列,注册这个文章模型是在admin.py底下,在Bloginfo的时候只传了一个参数,但是这个方法它是有第二个参数的,定义class叫Bloginfo admin,


 也就是说要定义它在admin管理端展示出来的内容,但是这个类一定要继承至ModelAdmin。

12.这个时候里边有一个属性叫ListDisplay,就是在列表上要展示哪些字段,这些字段它是一个元组,元组里边写的就是字段的名字,比方说要展示titile标题,之外还想展示CreatedTime,包括ModifiedTime,


 还有Cat Category分类,还有展示作者,浏览量。

13.对于管理端来讲,注册了模型,然后它自动按照模型的字段配置了增删改查的功能,很多的工作开发量就被节省下来了,回到属于页面的模板层,在templates底下加一个admin目录,里边加上一个模型,


 然后回来就把它粘过来,templates下加一个admin,然后admin里边它有固定的格式,它继承至admin里边的base,这些都是admin框架约定好的。

14.这堂课借着文章管理相关的一些功能,快速开发了文章的列表,文章的分类,文章的标签这三个数据模型的管理,通篇没有用到mysql,大家也体会到Django的这个Orm的强大,以及配合着admin管理端,


 用Django这个框架就可以一个小时一个模型,这是Django这种框架约定大于编码的理念。

15.如果大家后面如果去学Java相关的script,SpringCloud都是基于这种理念的,这种约定大于编码就是相同的功能约定了编码方式,约定了开发的配置文件的方式,包括变量的名字都给你约定好了,


  就不需要去自定义,所以Django一定要领会它里面的精髓。

 


以上就是博客文章发布与管理2-Python博客系统实战图文教程的全部内容了,你也可以点击下方的视频教程链接查看本节课的视频教程内容,虎课网每天可以免费学一课,千万不要错过哦!


特别声明:以上文章内容仅代表作者huke88本人观点,不代表虎课网观点或立场。如有关于作品内容、版权或其它问题请与虎课网联系。
500+精品图书
20G学习素材
10000+实用笔刷
持续更新设计模板
立即领取

下载虎课APP

随时随地学技能
APP更方便
每天免费学课程
下载虎课网APP
随时随地学海量会员教程
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了33,301
并提交了258份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证