2

我正在用 Django 制作个人主页。我正在使用django-markdownx作为文章模型的内容。另外,项目中已经实现了 Katex,在 Django 模板 HTML 中使用 JS 行来渲染 Latex。

我很难将这个 Katex JS 代码应用到 Django 管理页面。如何将下面的 JS 代码实现到 Django 管理页面的特定元素?我不希望将脚本应用于管理页面的所有元素,因为编辑文本框应该显示原始 Latex 代码,但只有预览部分应该将 Latex 部分呈现为方程式。

这里是 django-markdownx,和 Katex 参考:
https ://neutronx.github.io/django-markdownx/
https://katex.org/docs/api.html

这是我用于 Latex 渲染的 JS 代码块。

<link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"
      integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq"
      crossorigin="anonymous"
    />

    <!-- The loading of KaTeX is deferred to speed up page rendering -->
    <script
      defer
      src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"
      integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz"
      crossorigin="anonymous"
    ></script>

    <!-- To automatically render math in text elements, include the auto-render extension: -->
    <script
      defer
      src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"
      integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI"
      crossorigin="anonymous"
      onload="renderMathInElement(document.body);"
    ></script>
    <script>
      document.addEventListener("DOMContentLoaded", function() {
        renderMathInElement(document.body, {
          delimiters: [
            { left: "$$", right: "$$", display: true },
            { left: "\\[", right: "\\]", display: true },
            { left: "$", right: "$", display: false },
            { left: "\\(", right: "\\)", display: false }
          ]
        });
      });
    </script>
4

0 回答 0