博客系统-文章操作

url配置

url(r'^(?P<username>.*)/backindex/$',views.backIndex),
url(r'^(?P<username>.*)/backindex/addarticle/$',views.addarticle),
url(r'^(?P<username>.*)/backindex/delarticle/$',views.delarticle),
url(r'^(?P<username>.*)/backindex/editarticle/$',views.editarticle),

视图相关

添加文章
import datetime
def addarticle(request,username):
    if request.method=="GET":
        print("=============这里是直接通过后台跳转过来的")
        article_form = ArticleForm()
        cate_list = models.Category.objects.filter(blog__user=request.user)
        tag_list = models.Tag.objects.filter(blog__user=request.user)
        return render(request,"addarticle.html",locals())
    else:
        article_form = ArticleForm(request.POST)
        if article_form.is_valid():           #验证
            title = request.POST.get("title")
            content = request.POST.get("content")
            article_obj = models.Article.objects.create(title=title, desc=content[0:30],create_time=datetime.datetime.now(),user=request.user)
            models.ArticleDetail.objects.create(content=content,article=article_obj)
            return render(request,"addarticle.html",locals())
        return render(request,"addarticle.html",locals())
编辑文章
def editarticle(request,username):
    if request.method=="POST":

        return HttpResponse("OK")
删除文章
def delarticle(request,username):
    if request.method=="POST":
        response = {"is_del":False}
        article_nid = request.POST.get("article_nid")
        models.Article.objects.filter(nid=article_nid).delete()
        response["is_del"]=True
        return HttpResponse(json.dumps(response))

前端页面

增加文章
{% extends "backendindex.html" %}

{% block manageCon %}
    <span class="success" style="color: red"></span>

    <form action="/blog/{{ request.user.username }}/backindex/addarticle/" method="post" novalidate>
        {% csrf_token %}
        <label for="title">文章标题</label>
        <p>{{ article_form.title }}</p>
        <label for="title">文章内容</label>
        <p>{{ article_form.content }}</p>
    <p>文章分类</p>
        {% for cate in cate_list %}
            <input type="radio" name="personal_cate" value="{{ cate.nid }}">{{ cate.title }}
        {% endfor %}
    <p>文章标签</p>
        {% for tag in tag_list %}
            <input type="checkbox" name="personal_tag" value="{{ tag.nid }}">{{ tag.title }}
        {% endfor %}
    </form>
    <button id="submit">提交</button>



{% endblock %}








{% block script %}
<script>

function foo() {
    $(".success").html("")
}


    KindEditor.ready(function(K) {
                window.editor = K.create('#editor_id',{
                        width:"800px",
                        height:"400px",
                        resizeType:0,
                        uploadJson:"/uploadFile/",
                        extraFileUploadParams:{
                           csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val(),
                       },
                });
     });
     $("#submit").click(function () {
         $.ajax({
             url:"/blog/{{ request.user.username }}/backindex/addarticle/",
             type:"POST",
             data:{
                 title:$("[name=title]").val(),
                 content:editor.html(),
                 tag:$("[name=personal_tag]").val(),
                 cate:$("[name=personal_cate]").val(),
                 csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val(),
             },
             success:function (data) {
                 editor.html(""),
                 $("[name=title]").val(""),
                 $(".success").html("添加成功"),
                     setTimeout(foo,3000)
             }
         })
     });

    </script>
{% endblock %}

 

转载于:https://www.cnblogs.com/52-qq/p/8669554.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值