小编Kni*_*mar的帖子

将unicode字符串从django传递给javascript

我的数据中有一堆unicode字符串,我需要从django视图传递给模板,以便在JavaScript scriptlet中使用,并将其传递给Web来回.

问题是我希望字符串以JavaScript unicode形式表示,但我从python 获得带有u前缀的字符串.

例如,对于字符串mężczyźni,Python将其存储为u'm\u0119\u017cczy\u017ani',但是当它传递给模板时,它不会删除在处理它时为JavaScript创建问题的u前缀.我希望它只是'm\u0119\u017cczy\u017ani',以便模板中的JavaScript代码可以使用它.

我尝试使用urqluote,smart_unicode,force_unicode,但无法解决问题,甚至无法解决问题.

我该怎么办 ?

javascript python django unicode

8
推荐指数
1
解决办法
5177
查看次数

尝试在Celery中强制执行JSON序列化程序时,ContentDisallowed有关pickle的错误

我在tasks.py中有以下内容,指定json应该用作Celery的默认序列化程序.

celery = Celery('app', broker = 'redis://localhost:6379/4')
from kombu import serialization
serialization.registry._decoders.pop("application/x-python-serialize")

celery.conf.update(
    CELERY_TASK_SERIALIZER = 'json',
    CELERY_RESULT_BACKEND  = 'redis://localhost:6379/4',
    CELERY_ACCEPT_CONTENT  = ['json'],
)
Run Code Online (Sandbox Code Playgroud)

此外,在调用任务时,我将json序列化器指定为:

r = t1.apply_async(kwargs = {'msg': msg}, serializer = 'json')
r = t1.wait()
Run Code Online (Sandbox Code Playgroud)

但是我仍然在从该行t1.wait()开始的回溯调用行中得到以下错误.

ContentDisallowed:拒绝反序列化pickle类型的不可信内容(application/x-python-serialize)

任务t1引发了不同类型的异常,但我确实处理它们并尝试返回一个可以辨认的值.

我正在使用Celery 3.1.17(Cipater)和Flask0.10.1

那究竟是什么导致了这个错误呢?如果需要更多信息,请告诉我.

谢谢 :)

serialization json pickle celery flask

0
推荐指数
1
解决办法
1435
查看次数

标签 统计

celery ×1

django ×1

flask ×1

javascript ×1

json ×1

pickle ×1

python ×1

serialization ×1

unicode ×1