从0开始搭建博客(3)-编写一篇博客

频道:行业资讯 日期: 浏览:1013

前言

从0开始搭建博客(1)-基本构思

从0开始搭建博客(2)-学习django

从前面两篇文章我们已经知道了大致实现思路,接下来我们要解决django如何保存一篇博客的问题。

一篇博客,它的属性是包括标题、正文、作者、发布时间、修改时间。这几个基本要素,还可以加上标签、目录这两个辅助要素。

其中值得关注的是正文部分,这正文可以是一个文本编辑框,也能是文本的录入,但最好是一个富文本编辑框或者是markdown编辑框。这会使我们写博客内容更加的方便。因此本篇要讨论的是如何实现一篇博客的录入所包含的内容如下:

如何储存博客数据博客的正文如何以markdown的形式编辑

如何储存博客数据

在上篇中我们提到了django的admin模块,他提供了数据维护的能力。所以这里我们需要简单讲一下admin模块以及对应的model到底是什么个情况【具体内容查看官网文档,这是个好习惯。】

首先我们看下admin模块的官网内容

地址如下:

https://docs.djangoproject.com/zh-hans/4.0/ref/contrib/admin/

从官网获得的摘要如下

1:admin模块是一个自动管理界面,它从你的模型中读取元数据,提供一个快速的、以模型为中心的界面,受信任的用户可以管理你网站上的内容

2:通过admin.site.register(Model, ModelAdmin)可实现在管理页面上对Model进行管理。model就是我们的数据对象,而modeladmin就是对数据对象的管理规则。

3: modelAdmin提供了非常多的配置项供我们选择。大致浏览下,有需要再查吧。

我们再来看一下model对象的官网内容

地址如下:

https://docs.djangoproject.com/zh-hans/4.0/topics/db/models/

从官网获得的摘要如下:

1:model是用来准确且唯一的描述数据,他包含我储存数据的重要字段和行为。他对应的是数据库表的映射。

2:使用model需要在settings.py中的INSTALLED_APPS中增加对应配置

3:model中的每个字段都有对应字段类型,该字段类型不仅映射到了数据库表上,同时也映射到了该数据的表单编辑上-即决定了编辑的时候如何编辑。

4:对于非数据库/非表单纳管的字段,通过meta选项来表达。

总结

通过admin模块和model对象的设置,我们百分百能解决我们的问题了。我们可以通过django现有的配置实现一篇博客的录入,但现在的问题是如何以markdown的形式录入正文呢。model确实是支持一个自定义字段的重写,但要去实现一个md形式的文本也太复杂了吧。

博客的正文如何以markdown的形式编辑

像这种功能,我们一般都不自己去写的(对,百分之99的程序员都是api caller,都是缝合怪)。我们要做的就是找到第三方库把他集成进来,实现我们的功能即可。

那这个第三方库哪里去找呢? 自然去程序员的开源天堂-github

我这里选用了,跟着教程走做配置即可。

https://github.com/pylixm/django-mdeditor

题外话

我这里数据库用的是mysql。

数据库管理界面用的是datagrip

编码用的是vscode。

0 留言

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码