- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 django-datatrans在模型上翻译 MarkupField
(来自 django-markitup)。这两个应用程序都可以独立正常工作,但是当我注册 datatrans 来翻译 MarkupField
时,我无法再在管理中添加对象。
相关代码:
from django.db import models
from markitup.fields import MarkupField
from datatrans.utils import register
class Work(models.Model):
title = models.CharField(max_length=500)
content = MarkupField(help_text=MARKDOWN_HELP)
class WorkTranslation(object):
fields = ('title', 'content')
register(Work, WorkTranslation)
当我尝试在管理员中添加一个新的工作对象时,出现以下错误:
'unicode' object has no attribute 'raw'
错误发生在这里,在 markitup 模块中(在 rendered = render_func(value.raw)
行中:
.../lib/python2.7/site-packages/markitup/fields.py in pre_save
def pre_save(self, model_instance, add):
value = super(MarkupField, self).pre_save(model_instance, add)
rendered = render_func(value.raw)
setattr(model_instance, _rendered_field_name(self.attname), rendered)
return value.raw
失败时的本地变量:
add: False
model_instance: <Work: This is the title>
value: u'This is the content.'
self: <markitup.fields.MarkupField: content>
当 Work
类未注册翻译时,我尝试检查变量 value
。在那种情况下(然后它确实可以正常工作)它不是一个 unicode 字符串,而是 markitup.fields.Markup
的一个实例。
我一直无法弄清楚为什么类型会发生变化,我意识到这个问题非常具体。但我还是希望有人有见解..
最佳答案
与 django-modeltranslation 有同样的问题和 django-markitup 测试时:
class ModelTests(TestCase):
def test_my_class(self):
self.assertRaises(IntegrityError, models.MyClass.objects.create)
它适用于我:
class ModelTests(TestCase):
def test_my_class(self):
with self.assertRaises(IntegrityError):
models.MyClass.objects.create(info='', info_de='')
我安装的语言是 en
和 de
。我的默认语言是 en
。 info
是我的标记和翻译领域。 (我在这里测试 MyClass
需要一个字段,因此 IntegrityError
。)
(顺便说一句。这会产生一个稍微不同的错误:
class ModelTests(TestCase):
def test_my_class(self):
self.assertRaises(IntegrityError, models.MyClass.objects.create(info=''))
错误:
AttributeError: 'NoneType' object has no attribute 'raw'
)
也许这对某人有帮助。
关于python - 一起使用 django-datatrans 和 django-markitup 时出现 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835869/
我正在尝试实现 DataTrans iOS 库,但出现以下错误: Error Domain=ch.datatrans.ios-payment Code=3 "Validation Error" Use
我正在尝试使用 datatrans-inline.js 生成 token 我在 Angular2 的 typescript 中实现它时遇到困难...... 有人可以帮忙吗? 文档: https://d
我正在审查 django-datatrans 以与 django-localeurl 并行使用。 我想要做的是翻译 slugs,以便按如下方式访问我的翻译对象: www.mysite.com/fr/b
我正在尝试使用 django-datatrans在模型上翻译 MarkupField(来自 django-markitup)。这两个应用程序都可以独立正常工作,但是当我注册 datatrans 来翻译
我是一名优秀的程序员,十分优秀!