我正在迁移到“bleach”,我遵循了 turoial 中的所有步骤,但是当我在 html 中调用:{{ post.content|bleach }} 时出现错误。我正在使用 Django 1.8 版。同样在我的管理员中,它没有识别出我的 CKeditor。
页面中的错误信息是:
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/')),
这是我的一些文件:
设置.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'
模型.py:
from django.db import models
from django_bleach.models import BleachField
class Post(models.Model):
...
content = BleachField()
基础.html:
{% load staticfiles %}
{% load bootstrap3 %}
{% load bleach_tags %}
...
post.html:
{% extends "base.html" %}
{% block content %}
<div> {{ post.content|bleach }} </div>
请您参考如下方法:
您需要在任何使用 bleach 标签的模板中加载 bleach_tags。将其加载到父模板中是不够的。
{% 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),直到您对它的工作感到满意并且确定您希望它是永久的。
