Python cria um sistema de exames de campus inteligente

Descrição do código-fonte

Um sistema de exames de campus desenvolvido com django, com funções completas, usando Redis para armazenamento em cache, login WeChat, etc.

Download do código-fonte do campus inteligente:

81854b67514901b70c1827917bd036b2.png

Pressione e segure o código QR esquerdo por 2 segundos

Responda a " sabedoria " para obter o código fonte

(Problema não principal)

1. Efeito da operação

7f3f3075bf56499f4be73caf51459255.png

f5fb30d8cfc8a604616092141e2845da.png

8dfd04f7c70059f3162899a8b68d2ad8.png

d4d4ab3817b1697dd3660dffea3eb846.png

2. Parte do código de amostra

e96e54bd43fcf9c17ac9c758e9310396.png

def registry_biz(request):
    email = request.POST.get('email', '')  # 获取填写的邮箱
    name = request.POST.get('name', '')  # 获取填写的机构名
    username = request.POST.get('username', '')  # 获取填写的机构联系人
    phone = request.POST.get('phone', '')  # 获取填写的手机号
    ctype = request.POST.get('type', BusinessAccountInfo.INTERNET)  # 获取机构类型
    flag = int(request.POST.get('flag', 2))  # 获取一个标记位,代表用户是创建新用户还是使用绑定老用户的方式
    uname = email.split('@')[0]  # 和之前的注册逻辑没什么区别,创建一个账户名
    if not User.objects.filter(username__exact=name).exists():
        final_name = username
    elif not User.objects.filter(username__exact=uname).exists():
        final_name = uname
    else:
        final_name = email
    if flag == 2:  # 如果标记位是2,那么将为他创建新用户
        user = User.objects.create_user(
            username=final_name,
            email=email,
            password=settings.INIT_PASSWORD,
            is_active=False,
            is_staff=False
        )
    if flag == 1:  # 如果标记位是1,那么为他绑定老用户
        try:
            user = User.objects.get(email=email)
        except User.DoesNotExist:
            return json_response(*UserError.UserNotFound)
    pvalues = {
        'phone': phone,
        'name': final_name,
        'user_src': Profile.COMPANY_USER,
    }
    profile, _ = Profile.objects.select_for_update().get_or_create(email=email)  # 获取或创建用户信息
    for k, v in pvalues.items():
        setattr(profile, k, v)
    profile.save()
    bizvalues = {
        'company_name': name,
        'company_username': username,
        'company_phone': phone,
        'company_type': ctype,
    }
    biz, _ = BusinessAccountInfo.objects.select_for_update().get_or_create(  # 获取或创建机构账户信息
        email=email,
        defaults=bizvalues
    )
    return json_response(200, 'OK', {  # 响应JSON格式数据,这个标记位在发送验证邮件的时候还有用
        'name': final_name,
        'email': email,
        'flag': flag
    })

Download do código-fonte do campus inteligente:

1c7cbdab6f57cbedfa43b05b3abf2c84.png

Pressione e segure o código QR esquerdo por 2 segundos

Responda a " sabedoria " para obter o código fonte

(Problema não principal)

Acho que você gosta

Origin blog.csdn.net/bigzql/article/details/122678080
Recomendado
Clasificación