blog 二次开发随记 - 阶段3 - Django 项目开发


本次二次开发,有两个主要目的:

  1. 使用 django-rest-framework 来进行前后端分离,以方便后续进行 Flutter 的开发。
  2. 调整前端样式,使之在交互性,动效,操作上更加舒适。

下面是开发随记:

  1. 首先面临的第一个问题是,线上版的 blog,在当前环境下看,样式是乱的,主要原因还是静态文件的地址问题。

产生这个原因的点在于,Django 在 Debug = False (生产环境下)时,django.contrib.staticfiles 并不发挥效应,而在测试环境下,这个框架就是用来管理静态文件的(没有 nginx),所以此处正确的开发流程为:

1)开发环境:在 app/static 下放置静态文件,然后 Debug = True

2)生产环节:设置 STATIC_ROOT = os.path.join(BASE_DIR, 'static') ,配置 Nginx 来对静态文件进行管理,Debug 勾选为 False,然后执行 python manage.py collectstatic 来将应用下的静态文件,收集到根目录下的 /static/ 文件夹中,以便于使用 Nginx 来进行管理。

再试一下,样式可以正常刷新了,完美!

  1. 后面遇到的一个问题是,代码高亮的问题,在当前结构中,代码高亮是通过,import markdown 来对原始的 post 内容执行渲染,然后通过前端引用的样式文件,来对代码实现高亮的,这块有两个坑:

1)代码格式有问题,会导致,markdown 无法正确识别代码,渲染不出来

2)markdown 及拓展只是对内容进行了标注,但是高亮是需要在前端进行渲染的

渲染测试:

def helloworld():
    print('hello,world')

代码高亮问题,可以参考如下文章: https://blog.csdn.net/bianer199/article/details/49031151?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task