Move real_name to UserProfile;

Delete student_id field;
Mark the problems that have submission;
Alter dispatcher to adapt the changes.
This commit is contained in:
zema1
2017-09-12 11:45:17 +08:00
parent 1e4ede6d1a
commit f55a242ec0
15 changed files with 221 additions and 113 deletions

View File

@@ -82,10 +82,7 @@ class Captcha(object):
x += font_size * random.randrange(6, 8) / 10
self.django_request.session[self.session_key] = "".join(code)
with BytesIO() as buf:
image.save(buf, "gif")
buf_str = buf.getvalue()
return buf_str
return image
def check(self, code):
"""

View File

@@ -2,10 +2,9 @@ from base64 import b64encode
from . import Captcha
from ..api import APIView
from ..shortcuts import img2base64
class CaptchaAPIView(APIView):
def get(self, request):
img_prefix = "data:image/png;base64,"
img = img_prefix + b64encode(Captcha(request).get()).decode("utf-8")
return self.success(img)
return self.success(img2base64(Captcha(request).get()))

View File

@@ -1,5 +1,7 @@
import logging
import random
from io import BytesIO
from base64 import b64encode
from django.utils.crypto import get_random_string
from envelopes import Envelope
@@ -58,3 +60,12 @@ def build_query_string(kv_data, ignore_none=True):
query_string = "?"
query_string += (k + "=" + str(v))
return query_string
def img2base64(img):
with BytesIO() as buf:
img.save(buf, "gif")
buf_str = buf.getvalue()
img_prefix = "data:image/png;base64,"
b64_str = img_prefix + b64encode(buf_str).decode("utf-8")
return b64_str