如何使用Django同时显示两种不同格式的文本?

时间:2013-11-13 22:26:26

标签: javascript python ajax django

我正在尝试执行与softwaremaniacs.org或stackoverflow类似的操作。当你提出问题时,它会显示你写的两次,一次是普通的文字格式,另一种是格式不同的(Markdown)。

为了实现这一点,我的第一个想法是: 使用JQuery keyup,通过AJAX POST将文本发送到我的Django url,然后呈现文本并将其发送到模板,将其显示为Markdown格式。

在我的浏览器中查看开发人员工具中的网络响应,这似乎有效,但由于某种原因,它不会显示(更新)内容。

以下是我的代码的一些片段

AJAX

$('#input').keyup(function(){
    $.ajax({
        type: "POST",
        url: "/post/blog/",
        data: { 
            'input_text' : $('#input').val(),
            'csrfmiddlewaretoken' : $("input[name=csrfmiddlewaretoken]").val()
        },
        success: function(){
            console.log('success');
        },
        dataType: 'html'
    });
});

views.py

def post_blog(request):
    if request.method == 'POST':
        text = request.POST['input_text']
        return render(request, 'blog/post.html', {'input_text': text})

博客/ post.html

{% load markup %}
<tr>
    <td id="input">
        <p>{{ input_text|markdow }}</p>
    </td>
</tr>

1 个答案:

答案 0 :(得分:0)

为什么要将它一直发送回服务器?为什么不使用Showdown在用户的浏览器中呈现降价。