Django 使用 markdown 插件

Python-Markdown 插件

安装

  1. pip install markdown

1 将 markdown 转化为 html

models

  1. from django.utils import timezone
  2. from django.db import models
  3. from django.contrib.auth.models import User # 导入django自带的用户模型
  4. from django.utils.html import mark_safe # 将字符串标记为安全进行输出
  5. from markdown import markdown # 导入 markdown 插件,将markdown格式转化为html
  6. class Comment(models.Model):
  7. topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
  8. comment_text = models.TextField(max_length=2000)
  9. author = models.ForeignKey(User, default=1, on_delete=models.CASCADE)
  10. picture = models.FileField(blank=True, null=True) # 添加文件类型字段,并默认为空
  11. pub_date = models.DateTimeField(auto_now_add=True)
  12. def get_comment_text_md(self):
  13. """将markdown格式转化为html"""
  14. return mark_safe(markdown(self.comment_text))
  15. def __str__(self):
  16. return self.comment_text

templates:

  1. {% for comment in topic.comment_set.all %}
  2. {{ comment.get_comment_text_md }}
  3. {% endfor %}

此时,模板中通过 get_comment_text_mdconment_text 中的 markdown 文本转化为 html 在前台页面显示。

2 使用 markdown 编辑框

模板中引用

  1. <link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">
  2. ...
  3. <script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
  4. <script>
  5. var simplemde = new SimpleMDE(); // 会寻找当前页面第一个textarea进行渲染
  6. </script>

此时该插件就会在页面中寻找第一个textarea,并进行样式渲染。效果如下。

Django 中使用 MarkDown 插件的更多相关文章

  1. django中嵌入百度editor插件

    一.安装和配置步骤: 1.先下载百度ueditor插件,并安装pip install DjangoUeditor 2.把下载好的ueditor插件放到自己的项目中 3.配置setting INSTAL ...

  2. vscode中安装使用markdown 插件

    linux中好用的IDE    vscode是微软推出的一款好用免费的IDE,可以快速部署开发环境,所说配置有些繁琐,但是瑕不掩瑜.它同时支持很多种拓展的编辑器,MarkDown只是其中的一种. 安装 ...

  3. pycharm中安装可以贴图片的Markdown插件

    方法一:(测试成功) 先安装官方推荐的Markdown support插件,再安装Paste images into MarkDown 如果Paste images into MarkDown插件在线 ...

  4. django 项目中使用markdown编辑器

     第一步: 修改models.py文件下要显示字段的类型为TextField 第二步:运行命令: python manage.py makemigrations 和 python manage.py ...

  5. Sublime Text3下的markdown插件的安装及配置

    Sublime Text3下的markdown插件的安装及配置 安装准备--安装Package Control 安装MarkdownEditing 安装Markdown Preview或OmniMar ...

  6. Django中Celery的实现介绍(一)

    Django中Celery的实现 Celery官网http://www.celeryproject.org/ 学习资料:http://docs.jinkan.org/docs/celery/ Cele ...

  7. linux下vim如何配置markdown插件

    在vim中设置markdown语法高亮是一个不错的选择,但是在google中搜索到的很多都是比较老的设置方式,甚至vim插件下载页面都是一个旧的版本.这里总结下我的修改过程,以帮助像我一样纠结的人. ...

  8. Windows Live Writer的Markdown插件

    我新写了一个Windows Live Writer的Markdown插件,代码放在了github上. 介绍 这个项目是一个Windows Live Writer的Markdown插件.有了这个插件,你 ...

  9. Sublime Text3 配置markdown插件

    sublime是一个亮骚的文本编辑器,而且是跨三大平台,而markdown是一门标记语法,对于记录真是神器,具体语法百度很多,下面教你在sublime上配置markdown. 这两个神器结合起来简直好 ...

随机推荐

  1. nginx在linux下安装(源码编译)

    下载 http://nginx.org/en/download.html 安装 安装依赖 yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel o ...

  2. jvm堆、栈、String常量池

    原文地址:http://blog.csdn.net/tophawk/article/details/78704074 程序计数器:它的生命周期与线程相同,线程私有.较小的内存区域,用以完成分支.循环. ...

  3. LeetCode 568. Maximum Vacation Days

    原题链接在这里:https://leetcode.com/problems/maximum-vacation-days/ 题目: LeetCode wants to give one of its b ...

  4. postfix发邮件失败,日志和postqueue -p提示No route to host

    1.  防火墙未放行相关端口 2

  5. contest14 CF160div2 oooxx oooxx ooooo

    DE E : 排序条件不能加等于号, 不然会T

  6. [PHP] windows下tee指令

    在win下使用tee指令 tee为Linux指令,tee把日志输出到log的同时输出到屏幕. 在 http://sourceforge.net/projects/unxutils/?source=dl ...

  7. Docker入门笔记(Centos7)

    centos7 wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo vim docker-c ...

  8. java IO流读取图片供前台显示

    最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了 ...

  9. 批处理中setlocal enabledelayedexpansion的作用详细整理

    转自:https://www.jb51.net/article/29323.htm 设置本地为延迟扩展.其实也就是:延迟变量,全称延迟环境变量扩展, 想进阶,变量延迟是必过的一关!所以这一部分希望你能 ...

  10. python 统计字符串中指定字符出现次数的方法

    python 统计字符串中指定字符出现次数的方法: strs = "They look good and stick good!" count_set = ['look','goo ...