|
@@ -4,7 +4,8 @@ from datetime import datetime
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
|
|
|
from django.http import JsonResponse, HttpResponseRedirect
|
|
|
-from django.shortcuts import render
|
|
|
+from django.shortcuts import render, redirect
|
|
|
+from django.urls import reverse
|
|
|
|
|
|
import blog
|
|
|
from blog import models
|
|
@@ -37,6 +38,26 @@ def draft(request):
|
|
|
draft=True)
|
|
|
return render(request, 'management/article/draft.html', context={'articles': articles})
|
|
|
|
|
|
+@login_required(login_url='/login')
|
|
|
+def set_status(request,pk):
|
|
|
+
|
|
|
+ article = models.Article.objects.filter(id=int(pk)).first()
|
|
|
+ if article is not None:
|
|
|
+ if article.status == 0:
|
|
|
+ article.status = 1
|
|
|
+ else:
|
|
|
+ article.status = 0
|
|
|
+ article.save()
|
|
|
+ # 把所有 GET 参数重新编码(可能包含 page,也可能不包含)
|
|
|
+ query = request.GET.urlencode() # e.g. "page=2&foo=bar" 或者 ""
|
|
|
+
|
|
|
+ # 构造基础列表页 URL
|
|
|
+ base = '/management/article' # 或者直接 '/management/article'
|
|
|
+
|
|
|
+ # 如果有任何查询参数,就拼接 ?xxx,否则直接跳
|
|
|
+ redirect_url = f'{base}?{query}' if query else base
|
|
|
+ return redirect(redirect_url)
|
|
|
+
|
|
|
|
|
|
@login_required(login_url='/login')
|
|
|
def cancel_show_index(request, pk):
|