我正在尝试执行与softwaremaniacs.org或stackoverflow类似的操作。当你提出问题时,它会显示你写的两次,一次是普通的文字格式,另一种是格式不同的(Markdown)。
为了实现这一点,我的第一个想法是: 使用JQuery keyup,通过AJAX POST将文本发送到我的Django url,然后呈现文本并将其发送到模板,将其显示为Markdown格式。
在我的浏览器中查看开发人员工具中的网络响应,这似乎有效,但由于某种原因,它不会显示(更新)内容。
以下是我的代码的一些片段
$('#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'
});
});
def post_blog(request):
if request.method == 'POST':
text = request.POST['input_text']
return render(request, 'blog/post.html', {'input_text': text})
{% load markup %}
<tr>
<td id="input">
<p>{{ input_text|markdow }}</p>
</td>
</tr>