你的位置:首页 > 营销推广 > SEO > Django1.6自定义markdown过滤器

Django1.6自定义markdown过滤器

星空跨境
跨境电商干货分享网站,最新的亚马逊、全球速卖通、eBay、Wish商户平台、敦煌网、Shopify、Lazada、Etsy等电商平台卖家开店运营课程,以及外贸电子商务B2B和B2C平台网络营销,Dropshipping,英文SEO,海外SNS营销,Facebook,YouTube,LinkedIn,Twitter,Instagram,Snapchat,Pinterest,Tumblr以及EDM精准邮件营销等推广营销实战培训。
2020-11-06 23:00:32
1. 背景Django自1.6版本开始就取消了markdown这个标签;之前用django-markdown-deux实现了Django1.6的Markdown功能,后来发现这货不支持直接输入HTML,会把所有的<>都转码,加上autoescape,|safe都不好使 ...

Django1.6自定义markdown过滤器

1. 背景

  1. Django自1.6版本开始就取消了markdown这个标签;
  2. 之前用django-markdown-deux实现了Django1.6的Markdown功能,后来发现这货不支持直接输入HTML,会把所有的<>都转码,加上autoescape|safe都不好使。

于是就找到了自定义template tag这种形式,发现实现起来也很简单,使用时也非常趁手。

2. 实现步骤

2.1 创建Template Tags目录

在myproject/myapp目录下创建templatetags目录,并新建两个文件__init__.pydjangomarkdown.py,形成文件结构如下:

myproject/ myapp/  __init__.py  models.py  templatetags/   __init__.py   djangomarkdown.py  views.py
  • __init__.py照例是确保该目录作为Python包使用;
  • djangomarkdown.py是具体设置的脚本,但要注意这个文件命名是以后模板过滤器使用的,所以不要和已存在的或其他app的过滤器冲突。

2.2 编辑 djangomarkdown.py

djangomarkdown.py代码如下:

# -*- coding: utf-8 -*-import markdown2from django import templatefrom django.template.defaultfilters import stringfilterfrom django.utils.encoding import force_unicodefrom django.utils.safestring import mark_saferegister = template.Library()@register.filter(is_safe=True)@stringfilterdef djangomarkdown(value): return mark_safe(markdown2.markdown(force_unicode(value),          extras=["code-friendly"]          )      )

原标题:Django1.6自定义markdown过滤器

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
星空跨境
跨境电商干货分享网站,最新的亚马逊、全球速卖通、eBay、Wish商户平台、敦煌网、Shopify、Lazada、Etsy等电商平台卖家开店运营课程,以及外贸电子商务B2B和B2C平台网络营销,Dropshipping,英文SEO,海外SNS营销,Facebook,YouTube,LinkedIn,Twitter,Instagram,Snapchat,Pinterest,Tumblr以及EDM精准邮件营销等推广营销实战培训。

该作者最新发布文章

相关推荐

我的浏览记录

用小程序打开用小程序打开更快