python测试开发django-55.xadmin使用markdown文档编辑器(django-mdeditor)

前言

markdown是一个非常好的编辑器,用过的都说好,如果搭建一个博客平台的话,需要在后台做文章编辑,可以整合一个markdown的文本编辑器。
github上关于django的markdown插件很多的,看了半天也不知道选哪个好,本篇用django-mdeditor先试试

django-mdeditor

pip安装django-mdeditor

pip install django-mdeditor

在项目的settings.py的INSTALLED_APPS中添加’mdeditor’,

# Application definition

INSTALLED_APPS = [
    # ......
    'xadmin',            # 新添加
    'crispy_forms',      # 新添加
    'stdimage',          # 上传图片
    'mdeditor',       # markdown
]

然后设置图片等资源的存放media地址,之前配置过就不用重复配置了

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls.py设置访问地址

from django.conf.urls import url
from django.urls import include

urlpatterns = [

    url(r'mdeditor/', include('mdeditor.urls')),
]

models模型

在models.py中添加

from django.db import models
from mdeditor.fields import MDTextField   # 必须导入

class Blog(models.Model):
    '''博客管理'''
    title = models.CharField(max_length=10)
    content = MDTextField()    # 注意为MDTextField()

    def __str__(self):
        return self.__doc__ + "title->" + self.title

    class Meta:
        verbose_name = "博客发布"
        verbose_name_plural = verbose_name

xadmin.py中注册

import xadmin
from . import models

class BlogAdmin(object):
    list_display = ['title',]

xadmin.site.register(models.Blog, BlogAdmin)

配置好之后,执行 makemigrations 和migrate,同步数据

python manage.py makemigrations
python manage.py migrate

实现效果

xadmin后台可以左侧输入,右边实时显示对应的效果

也可以支持本地图片上传

插入代码也可以支持

如果需要在前台显示的话,可以在views.py获取到数据库的数据后,使用markdown.markdown()修饰为html语句,然后传到前端显示

原文地址:https://www.cnblogs.com/yoyoketang/p/10737225.html

时间: 2024-08-02 05:33:48

python测试开发django-55.xadmin使用markdown文档编辑器(django-mdeditor)的相关文章

python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)

前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布局用到的是django-crispy-forms框架,本篇详细讲下django-crispy-forms的官方文档案例 django-crispy-forms 当我们使用xadmin后台的时候,在INSTALLED_APPS里面同时添加了xadmin和crispy_forms这2个app,xadmi

python测试开发django-16.JsonResponse返回中文编码问题

前言 django查询到的结果,用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码 遇到问题 接着前面的User表,测试数据如下 user_name psw mail yoyo 123456 [email protected] yoyo2 111111 1 yoyo5 111111 0 接着上一篇[python测试开发django-15.查询结果转json(serializers)],如果数据库里面

2019第一期《python测试开发》课程,10月13号开学

2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20:30-22:30 报名费:报名费2000一人(周期2个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.httprunner框架以及web平台做接口自动化测试 (装逼必备) 2.django平台开发 (python开发必会) 3.pytest框架结合selenium做web自动化测试 (

python测试开发之_字符串练习

编程学习是个漫长.逐渐累加复杂度.综合难度的一门工程.需要自我驱动,督促自己往前走.Python测试开发是本年度重点学习目标. 今天来一个字符串的练习题,重在思路,不断训练自己的思维. 题目:找出字符串中出现次数最多的字符,并输出其出现的位置 代码实现: #encoding=UTF-8 s = "aaabbbhhiijk" letter_count_dict={} for i in s: if letter_count_dict.has_key(i): #判断是否在字典中出现过 let

Python测试开发-创建模态框及保存数据

Python测试开发-创建模态框及保存数据 原创: fin  测试开发社区  前天 什么是模态框? 模态框是指的在覆盖在父窗体上的子窗体.可用来做交互,我们经常会看到模态框用来登录.确定等等,到底是怎么实现这种弹出效果,bootstrap已经为我们提供了相应的组件. 1.界面原型 点击添加,弹出模态框, 然后输入 用户:tester, 消息:你好.如下图1所示: ▲图1 再点击保存,那么数据库就存入了以上输入的数据,查看界面的用户列表会显示tester,如下图2所示: ▲图2 2.开发过程 接下

鼠标右键新建Markdown文档

首先放一张github某项目中.md文件中的内容图片 Windows系统下,使用 Typora 软件来进入Markdown文档的编写非常容易,而且入门门槛非常的低 存在的问题: 习惯了使用Markdown来编写各种文档,以及打开Typora软件来编辑Markdown,但是Typora软件比较客气,并没有给我们用户修改一大堆配置.当我想在桌面或文件夹内新建一个.md(markdown文档的后缀名)文件时,只能是打开Typora,然后在软件内进行文件的保存和保存位置的选择. 解决方案: 将新建.md

Python小爬虫-自动下载三亿文库文档

新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?od=1&pn=0,可以观察到,链接中pn=后面的数字就是对应的页码,所以一会我们会用iurl = 'http://3y.uu456.com/bl-197?od=1&pn=',后面加上页码来抓取网页. 一般网页会用1,2,3...不过机智的三亿文库用0,25,50...来表示,所以我们在拼接ur

AppleWatch开发教程之调试程序使用帮助文档

AppleWatch开发教程之调试程序使用帮助文档 AppleWatch开发教程之调试程序 调试又被称为排错,是发现和减少程序错误的一个过程.在Xcode中进行调试的需要实现以下几个步骤: 1.添加断点 在进行程序调试之前,首先需要为程序添加断点,断点是调试器应该停止程序的运行并让开发者可以运来查看成的地方.将光标移到到要添加断点的地方,按住Command+\键或者选择菜单栏中的"Degbug|Breakpoints|Add Breakpoint at Current Line"命令进

将图片嵌入到markdown文档中

转自KFXW的专栏 将图片嵌入Markdown文档中一直是一个比较麻烦的事情.通常的做法是将图片存入本地某个路径或者网络存储空间,使用URL链接的形式插入图片: ![image][url_to_image] 这样做一个明显的麻烦之处在于处理图片与Markdown文档的一致性上.如果我们要拷贝文档,或者图片遭到误删/云端链接失效,就会变得不便.最让我们省心的方法便是将图片直接放到文档内部. 一个将图片嵌入文档中的方法是使用base64编码.步骤比较简单: 1. 将图片或截图保存在本地: 2. 使用