from django.shortcuts import render from .models import PublicKey from .form import AddPublicKeyForm from django.http import HttpResponse from django.contrib.auth.decorators import login_required import json DEBUG = True @login_required(login_url='/account/login/') def add_public_key(request): if request.method == 'POST': add_public_key_form = AddPublicKeyForm(data=request.POST) if add_public_key_form.is_valid(): # 新建公钥表 data = add_public_key_form.cleaned_data new_public_key = PublicKey() new_public_key.public_key = data['public_key'] new_public_key.user = request.user # 保存 new_public_key.save() return HttpResponse(status=200) else: return HttpResponse(status=400) # 用于测试 elif request.method == 'GET': if DEBUG: return render(request, 'add_public_key.html') else: response = ['illegal method, please use post'] return HttpResponse(json.dumps(response)) @login_required(login_url='/account/login/') def get_public_key(request): if request.method == 'POST': data = request.POST # 筛选出此用户的公钥 public_keys = PublicKey.objects.filter(user__username=data['username']) # 将筛选得到的此用户的公钥放入列表中并用json返回 response = [] for public_key in public_keys: response.append(public_key.public_key) return HttpResponse(json.dumps(response),status=200) # 用于测试 elif request.method == 'GET': if DEBUG: return render(request, 'get_public_key.html') else: return HttpResponse(status=400)