123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- from django.http import JsonResponse
- from django.contrib.auth.decorators import login_required
- from .models import Article, Tag, ArticleClass, Draft
- @login_required(login_url='/account/login/')
- def post_article(request):
- if request.method == 'POST':
- data = request.POST
- article_class = ArticleClass.objects.filter(Name=data['class'])
- if article_class:
- new_article = Article()
- new_article.Publisher = request.user
- new_article.Title = data['title']
- new_article.Content = data['content']
- new_article.Cover = data['cover']
- new_article.Class = article_class.get()
- new_article.Read = 0
- new_article.Like = 0
- new_article.save()
- for i in range(0, 100):
- try:
- tag_name = data['tag[' + str(i) + ']']
- tag = Tag.objects.filter(Name=tag_name)
- if tag:
- new_article.Tag.add(tag.get())
- else:
- new_article.Tag.create(Name=tag_name)
- except Exception as e:
- break
- new_article.save()
- res = {
- 'code': '402',
- 'message': 'Publish Successfully'
- }
- return JsonResponse(res)
- else:
- res = {
- 'code': '403',
- 'message': 'Invalid data'
- }
- return JsonResponse(res)
- else:
- # 请求方法错误,请使用POST
- res = {
- 'code': '401',
- 'message': 'Please Use POST'
- }
- return JsonResponse(res)
- def article_list(request):
- articles = Article.object.all()
- res = {
- 'code': '402',
- 'articles': []
- }
- for article in articles:
- res[articles].append({
- 'Id': article.ArticleId,
- 'Title': article.Title,
- 'Content': article.Content,
- 'Publisher': article.Publisher.username,
- 'Read': article.Read,
- 'Like': article.Like,
- 'Publish_Time': article.Publish_Time,
- 'Edit_Time': article.Edit_Time,
- })
- return JsonResponse(res, safe=False)
- @login_required(login_url='/account/login/')
- def get_article_classes(request):
- aclasses = ArticleClass.objects.all()
- classes = []
- for aclass in aclasses:
- classes.append(aclass.Name)
- res = {
- 'code': '402',
- 'classes': classes
- }
- return JsonResponse(res)
- @login_required(login_url='/account/login/')
- def get_article_tags(request):
- tags = []
- for tag in Tag.objects.all():
- tags.append(tag.Name)
- res = {
- 'code': '402',
- 'tags': tags
- }
- return JsonResponse(res)
- @login_required(login_url='/account/login/')
- def save_draft(request):
- if request.method == 'POST':
- data = request.POST
- draft = Draft.objects.filter(Title=data['title'], Poster=request.user)
- if draft:
- draft = draft.get()
- draft.Content = data['content']
- draft.save()
- else:
- new_draft = Draft()
- new_draft.Title = data['title']
- new_draft.Content = data['content']
- new_draft.Poster = request.user
- new_draft.save()
- res = {
- 'code': '402',
- 'message': 'Saved Successfully'
- }
- return JsonResponse(res)
- else:
- # 请求方法错误,请使用POST
- res = {
- 'code': '401',
- 'message': 'Please Use POST'
- }
- return JsonResponse(res)
|