首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -无效过滤漂白剂

Django -无效过滤漂白剂
EN

Stack Overflow用户
提问于 2015-12-11 15:31:03
回答 1查看 548关注 0票数 2

我要迁移到“漂白剂”,我遵循了turoial中的所有步骤,但是当我调用: html中的{{ post.content|bleach }}时出错了。我正在使用Django版本1.8。而且在我的管理中,它没有识别我的CKeditor。

页面中的错误消息是:

代码语言:javascript
复制
Request Method: GET
Exception Value:    Invalid filter: 'bleach'

在服务器的日志中我得到了:

代码语言:javascript
复制
/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:

代码语言:javascript
复制
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'

models.py:

代码语言:javascript
复制
from django.db import models
from django_bleach.models import BleachField
class Post(models.Model):
    ...
    content = BleachField()

base.html:

代码语言:javascript
复制
{% load staticfiles %}
{% load bootstrap3 %}
{% load bleach_tags %}
...

post.html:

代码语言:javascript
复制
{% extends "base.html" %}
{% block content %}
<div> {{ post.content|bleach }} </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-11 15:34:13

您需要在使用bleach_tags标记的任何模板中加载bleach。仅在父模板中加载它是不够的。

代码语言:javascript
复制
{% extends "base.html" %}
{% load bleach_tags %}

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

RemovedInDjango19Warning是一个完全不同的问题。正如消息所述,您可以通过设置一个显式值来使其保持沉默:

代码语言:javascript
复制
RedirectView.as_view(url='/blog/', permanent=False)

您正在使用的正则表达式'^.*/$'将永久地重定向--每个 url --以斜杠结尾到/blog/。我很确定你不想那样做。我会删除该模式(或至少设置permanent=False),直到您满意它正在工作,并确信您希望它是永久的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34227033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档