from blog import models
from PIL import Image,ImageDraw,ImageFont
from io import BytesIO
import random,string
# 随机颜色
def get_random_color():
return (
random.randint(0,100),
random.randint(0, 100),
random.randint(0, 100),
)
# 字体随机颜色
def get_random_font():
return (
random.randint(200,255),
random.randint(200, 255),
random.randint(200, 255),
)
# 随机字母数字结合
def get_rangdom_letter():
src = string.ascii_letters + string.digits
random_num = random.sample(src,5)
n = ''
for i in random_num:
n += i
return n
# 取随机字母数字结合图
def get_valid_code(request):
# 生成一个随机背景颜色图片
img = Image.new('RGB',(120,35),color=get_random_color())
# 拿到画笔,画背景颜色
img_draw = ImageDraw.Draw(img)
# 字体设置
font = ImageFont.truetype('static/font/ss.TTF',size=25)
# 为背景颜色添加字体 随机字母数字
img_draw.text((20,0), get_rangdom_letter() ,get_random_font(),font=font)
f = BytesIO()
img.save(f,'png') # 图片放入内存中
data = f.getvalue()
return HttpResponse(data)
from django.contrib import auth
# 登录认证
def login(request):
if request.method == 'GET':
return render(request,'login.html')
elif request.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
# models.UserInfo.objects.create_superuser(username=name, password=pwd,blog_id=1,email='[email protected]')
print(name,pwd)
user = auth.authenticate(request,username=name,password=pwd)
print(user)
if user:
print(111111111)
auth.login(request,user)
return JsonResponse('登陆成功')
else:
return redirect('/login/')