2015-12-11 51 views
2

我正在遷移到「漂白」,我遵循了turboial中的所有步驟,但當我在html中調用{{ post.content|bleach }}時出現錯誤。我正在使用Django 1.8版本。另外在我的管理員,它沒有認出我的CKeditor。Django - 無效的過濾器漂白

頁面中的錯誤信息是:

Request Method: GET 
Exception Value: Invalid filter: 'bleach' 

在服務器的日誌我:

/home/ubuntu/workspace/wpage/urls.py:26: RemovedInDjango19Warning: Default value of 'RedirectView.permanent' will change from True to False in Django 1.9. Set an explicit value to silence this warning. 
    url(r'^.*/$', RedirectView.as_view(url='/blog/')), 

下面是我的一些文件:

setting.py:

INSTALLED_APPS = (
... 
    'django_bleach', 
) 
... 
BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'style'] 
BLEACH_ALLOWED_STYLES = [ 
    'font-family', 'font-weight', 'text-decoration', 'font-variant'] 
BLEACH_STRIP_TAGS = True 
BLEACH_STRIP_COMMENTS = False 
BLEACH_DEFAULT_WIDGET = 'ckeditor.widgets.CKEditorWidget' 

model s.py:

from django.db import models 
from django_bleach.models import BleachField 
class Post(models.Model): 
    ... 
    content = BleachField() 

base.html文件:

{% load staticfiles %} 
{% load bootstrap3 %} 
{% load bleach_tags %} 
... 

post.html:

{% extends "base.html" %} 
{% block content %} 
<div> {{ post.content|bleach }} </div> 

回答

2

您需要加載bleach_tags在您使用bleach標籤的任何模板。將其加載到父模板中是不夠的。

{% extends "base.html" %} 
{% load bleach_tags %} 

{% block content %} 
<div> {{ post.content|bleach }} </div> 

RemovedInDjango19Warning是一個完全獨立的問題。由於有消息稱,你可以通過設置明確的值沉默吧:

RedirectView.as_view(url='/blog/', permanent=False) 

您正在使用,'^.*/$'正則表達式,將永久重定向 URL以斜線結束/blog/。我很肯定你不想那樣做。我會刪除該模式(或至少設置permanent=False),直到您感到高興爲止,並確定您希望它是永久性的。