Py学习  »  问与答

django1.6版下如何实现{%load markup%},解决方法看不懂

Dingo • 11 年前 • 8101 次点击  

最近在学习django,看的是一篇博客: http://www.cnblogs.com/cacique/archive/2012/10/01/2709668.html#2775268

不过 django.utils.markup 在 django1.6版中没有了。 原作者的{%load markup%}就无法实现。

已有的解决方案:http://django-china.cn/topic/368/ 我安装pip后又安装了docutils库。然后就看不懂了。求教具体怎么设置(包括settings.py,views.py,还有相应的html文件)?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/383
 
8101 次点击  
文章 [ 7 ]  |  最新文章 10 年前
扁豆焖面先生-weibo
Reply   •   1 楼
扁豆焖面先生-weibo    10 年前

https://github.com/klen/django_markdown
绝对看的懂。

cdxfish
Reply   •   2 楼
cdxfish    10 年前

直接从1.5 里面copy过去就好了,不过1.5里面的也不是很好用 自己写个filter 就ok了

Py站长
Reply   •   3 楼
Py站长    11 年前

@shanshuise 这个代码 https://github.com/bread-and-pepper/django-userena 写得很棒,本社区的代码就是采用它的APP来做用户管理的

shanshuise
Reply   •   4 楼
shanshuise    11 年前

@Django中国社区 请问楼上的水平写这段filter代码时要再看下相关资料还是无需搜索、查阅文档就可以直接写出来?

学习Django过程中,看了不少视频、博客,但是感觉让我自己写个博客论坛什么的还是有难度,向上边filter我碰上的话就要搜索一通。感觉自己应该多抄几遍别人的项目代码。不知道楼主能否推荐几个简单、优秀Django的开源项目。多谢。

Py站长
Reply   •   5 楼
Py站长    11 年前

@wxgwin markup方法已经废弃了,无法在模板中使用了,有一个替代方案,就是自己写filter,然后在模板中使用。

wxgwin
Reply   •   6 楼
wxgwin    11 年前

我是个Django新手, 能在详细解释一下吗? 还是不清楚原理啊

Py站长
Reply   •   7 楼
Py站长    11 年前

先引入一个filter.py

import markdown2
.. all other imports needed..

register = template.Library()

@register.filter(is_safe=True)
@stringfilter
def markdown2(value):
    return mark_safe(markdown2.markdown(force_unicode(value),safe_mode=True,enable_attributes=False))

然后就可以在你的template模块中使用这个Filter了啊

{% load myapp_markup %}
{{ value|markdown2 }}