2014-09-25 84 views
1

我似乎无法让IPython rich display system工作在我的自定义类上。我以前做过,但现在我失去了一些东西。启用IPython笔记本丰富的显示

这将显示正确的HTML代码:

import IPython.core.display 
from IPython.display import display, HTML 
HTML('<b>hey</b>') 

但这并不:

class FooBase(object): 
    def __init__(self, x): 
     self.x = x 

class FooHTML(FooBase): 
    def _repr_HTML_(self): 
     return '<span><b>FooHTML</b> x=%s</span>'%x 

foo1 = FooHTML('hey') 
foo1 

我刚刚得到这个:

<__main__.FooHTML at 0x83fb160> 

我缺少什么?我正在运行IPython 1.1.0。

回答

2

Doh!哑巴错字。它是_repr_html_,而不是_repr_HTML_,我忘记了在self.x中使用self

class FooBase(object): 
    def __init__(self, x): 
     self.x = x 

class FooHTML(FooBase): 
    def _repr_html_(self): 
     return '<span><b>FooHTML</b> x=%s</span>' % self.x