我正在尝试做一些类似于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'
});
});
视图.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>