如何在斯芬克斯中使用文档中的换行符

2024-04-26 13:50:02 发布

您现在位置:Python中文网/ 问答频道 /正文

为了使我的编码技能专业化,我想用sphinx来创建文档,作为我开始的一个小宠物项目。 在这个项目中,我使用sqlalchemy与MySQL数据库通信,MySQL数据库是使用MySQL工作台建立的。 在设置过程中,我还在每个表上定义了注释

我想做的是在文档中包含表注释,以便阐明每个表应该做什么。 我正在使用SQLalchemy的automapper功能

from sqlalchemy import Table, create_engine
from sqlalchemy.engine import reflection
from sqlalchemy.orm import create_session
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.engine.url import URL
from os import  path

# DBCONF is a loaded dict. Ommitted for clarity.
DBURL = URL(**DBCONF)

#Creat DB engine 
engine = create_engine(DBURL)
insp = reflection.Inspector.from_engine(engine)
Base = declarative_base(bind = engine)

#Example Table from the database.
class Temperature(Base):
    tablename = 'temperature'
    __table__ = Table(tablename, Base.metadata, autoload=True)
    __doc__ = insp.get_table_comment(tablename)['text']
    print(__doc__)

class Foo(object):
    """
    Foo 1

    Foo 2
    """
    print(__doc__)

class Bar(object):
    __doc__ = "Bar1 \n \nBar2"
    print(__doc__)

来自

print(__doc__)

它们是:

DBLine1 \n \n DBLine2

    Foo 1

    Foo 2

Bar1

Bar2

在Foo和Bar的文档中,一切正常,但是对于Temperature对象,我得到“DBLine1 n DBLine2”。没有换行符,没有\n

你知道这是从哪里来的吗?也许是数据库的字符集

做我想做的事真的是个好主意吗?我开始怀疑了


Tags: from文档import数据库basedocfoosqlalchemy