Skip to content

[BUG]留言板欢迎信息中带图片的在Flask中访问会报错 #60

@Minuhy

Description

@Minuhy

Describe the bug
导出留言板欢迎信息中带图片的留言板信息后,使用displayer.py在本地访问留言板信息时直接报错:类型不正确,应该是str或类似bytes的类型

To Reproduce
在空间的留言板中编辑欢迎信息,添加一张图,然后导出,导出后使用displayer.py在本地访问留言板

Expected behavior
一堆报错,最终定位在template_filters.py的content_beautify函数,类型不正确,是由模板引擎调用引起的错误

Solution
目前避免这个报错使其能正常访问可以在template_filters.py的content_beautify函数的所有while之前加上类型判断

def content_beautify(s):
    '''恢复字符串中可能存在的表情、html 标签、css 样式等
    '''

    # TODO 出错,强行避免
    if isinstance(s, jinja2.runtime.Undefined):
        print("TODO:搜索的一个奇怪东西,可能有的内容显示不出来")
        print("s(type):", type(s), 's:', s)
        return s

    while True:
        # 恢复 @用户
        m = AT_PATTERN.search(s)
        if not m:
            break
        s = s.replace(m[0], '<a href="/%s">@%s</a>' % (m[1], m[2]))
........................................后面的代码都没有变...............

但是这样留言板的图片不会显示,显示的是一个image标签

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtodo

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions