python学习之web框架 dgango 使用markdown文本编辑器

前端使用markdown书写博客,使用ajax提交数据到后台保存到数据库
调用后台接口时,出现403

 # 报错Forbidden (CSRF cookie not set.)

解决:修改settings.py文件,将MIDDLEWARE 的
django.middleware.csrf.CsrfViewMiddleware, 注释掉
问题2:post如何传递参数到后台??
前端代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>EditorMD</title>
{% load static %}
    <link type="text/css" href="../static/markdowneditor/lib/codemirror/codemirror.min.css" >
    <script type="text/javascript" src="../static/markdowneditor/jquery/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="../static/markdowneditor/editormd.min.js"></script>
    <link rel="stylesheet" href="../static/markdowneditor/css/editormd.css">
</head>

<body>
<img src="../static/test.png" alt="测试访问静态资源 ">
标题<input type="text" name="title"><br>
正文<div class="editormd" id=""$id>
    <textarea class="editormd-markdown-textarea" name="$id-markdown-doc"></textarea>
    <!-- html textarea 需要开启配置项 saveHTMLToTextarea == true -->
    <textarea class="editormd-html-textarea" name="$id-html-code"></textarea>
</div>
<div id="layout">
    <header>
        <h1>动态创建 Editor.md</h1>
        <p>Dynamic create Editor.md</p>
        <br>
        <div class="btns" style="margin:0;">
            <button id="create-btn">动态创建一个 Editor.md</button>
            <button id="remove-btn">移除 Editor.md</button>
        </div>
    </header>
</div>
<button id="publish">发布</button>
显示提交内容<div id="content"></div>
<script type="text/javascript">
    var testEditormd;

    $(function () {
        $("#create-btn").click(function () {

            $("#layout").append("<div id=\"test-editormd\"></div>");

            testEditormd = editormd("test-editormd", {
                width: "90%",
                height: 640,
                emoji: false,
                markdown: "### 动态创建 Editor.md\r\n\r\nDynamic create Editor.md",
                path: '../static/markdowneditor/lib/',
                saveHTMLToTextarea:true
            });

        });

        $("#remove-btn").click(function () {
            testEditormd.editor.remove();
        });
        $("#publish").click(function(){
            alert("点击了发布!")
            alert(testEditormd.getPreviewedHTML())
            //ajax提交数据
            $.post("publishblog",{title:$("#title").val(),content:testEditormd.getPreviewedHTML()},function(data){
                alert(data)
            })
            $("#content").append(testEditormd.getPreviewedHTML())

        })
    });
</script>
<p>{{ rlt }}</p>


<script>


</script>
</body>



后台代码:urls.py

urlpatterns = [
   path('publishblog',ArticleService.publishArticle),
   ]

ArticleService.py

from django.http import HttpResponse

from pyBlog.dao import BlogDao
import json

#发表博客,暂时不接受参数,
def publishArticle(request):
    resp = {'errorcode': 100, 'detail': '保存成功!'}
    print("request:",request)
    # if BlogDao.saveOrUpdate(title,content) != True:
    #      resp['detial'] = "保存失败"

    return HttpResponse(json.dumps(resp), content_type="application/json",)

def getArticlesList(request):
    resp = {'errorcode': 100, 'data': 'null'}
    resp['data']= BlogDao.getArticles()
    return HttpResponse(json.dumps(resp), content_type="application/json")

效果:可以访问到后台,并且返回json格式数据
截图:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值