Django语法在POST表单中突出显示

时间:2016-09-06 20:37:06

标签: javascript python css django

在Django 1.8中,我在我的base.html模板的head部分中启用了prism语法高亮[1] css / js

    <link rel="stylesheet" href="{% static 'css/prism.css' %}">
    <script src="{% static 'js/prism.js' %}"></script>

我已经证明这可以正常工作,将代码标签(下面)直接粘贴到我的html中,它会按预期显示:

<pre>
    <code class="language-markup">
        code line text here
    </code>
</pre>

我遇到的问题是,我希望将这些标签直接添加到PostForm中(就像用户制作博客文章一样,他们希望突出显示代码示例)

def post_new(request):
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.published_date = timezone.now()
            post.save()
            return redirect('post_ossn', pk=post.pk)
    else:
        form = PostForm()
    return render(request, 'website/post_edit.html', {'form': form})

当我这样做时,渲染似乎搞乱了标签并破坏了棱镜解析标签的能力。

这是我在视图源中看到的:

pre&gt;<br />&lt;code class=&quot;language-markup&quot;&gt;<br /><br />    code line text here<br /><br />&lt;/code&gt;<br />&lt;/pre&gt;</p>

所以我可能在这里错了,因为我上周才开始学习django,但是我怀疑表格渲染/帖子是否破坏了代码标签?

我能逃脱/防止这种情况发生吗?或者还有什么事情可以让任何人就解决方案提出建议?

[1] http://prismjs.com/download.html

0 个答案:

没有答案