背景:
环境如题:win + python3 + flask + jinja。
初学python,在做一个博客工具练习flask,sql目前只有入门知识。
目标是想在发布文章的时候,支持markdown。
问题:标题/加粗等都没有问题,但是在插入图片/超链接的时候,拼接的sql语句会被文章(已经被转化为html)中的引号等符号破坏导致报错。
我做的尝试:
xxx.replace(""", "\"").replace("\\", "\"),实测并没有用。
使用HTMLParser的时候,发现依赖的markupbase包没有(pip3 install 提示没找到,豆瓣源)。
想请教的是:
是否需要把网页存到数据库中去?(或者只存markdown文本到数据库,展示的时候再渲染?)假如不应该,有什么好办法么?
假如应该存数据库,有什么办法吧html代码转化成sql安全?比如还有需要替换的字符我没有注意到?或者有现成的库?
기사 편집 인터페이스를 구현하는 Flask에 대한 유사한 질문에 대한 답변을 볼 수 있습니다
Flask
MD 처리를 위한 플러그인Flask-Pagedown
이 이미 있습니다. 하지만mardown
라이브러리만 사용할 수도 있습니다. 두 가지 질문:웹페이지를 데이터베이스에 저장해야 하나요? (아니면 마크다운 텍스트를 데이터베이스에 저장한 다음 표시할 때 렌더링합니까?) 그렇지 않은 경우 좋은 방법이 있습니까?
Flask
저자가 쓴 책 "Flask Web Development: Practical Web Application Development Based on Python"에서는 HTML과 마크다운 텍스트 모두 데이터베이스에 저장되는데, 브라우징 시에는 HTML을 직접 가져오고, 마크다운을 할 때는 가져옵니다. 편집. 마크다운을 데이터베이스에 저장할 때 HTML로 구문 분석하여데이터베이스에 저장해야 한다면 html 코드를 sql로 안전하게 변환할 수 있는 방법은 없을까요? 예를 들어, 내가 눈치채지 못한 채 바꿔야 하는 문자가 있나요? 아니면 이미 만들어진 라이브러리가 있나요?
markdown
라이브러리를 사용하는 경우 직접 전화하세요:플러그인을 사용하는 경우:
으아악마크다운 텍스트는 데이터베이스에 저장되며, 서버는 HTML을 렌더링하고 마크다운을 표시하기 위해 jinja2에 필터를 구현합니다. 제가 정의한 필터는 다음과 같습니다.
으아악사용:
으아악