python-web开发心得(二)(mongoDB数据库)

from flask import Flask,request
from flask_mongoengine import MongoEngine 
from mongoengine import *

app=Flask(__name__,static_url_path='',static_folder='static')
app.config['MONGODB_SETTINGS']={'db':'jikexueyuan'}

db=MongoEngine(app)

#定义teacher对象
class Teacher(Document):
    name = StringField(required=True)
    password = StringField(required=True)
    classname = StringField(required=True)
    phonenum = StringField(required=True)
    

@app.route('/')
def hello_world():
    return 'Hello World!'

#配置URL
@app.route('/user2_register',method=['POST'])
def user2_register():
    if 'username' in request.form:
        username = request.form['username']
    else:
        return{'status':'failed','data':'username required'}
    if 'password' in request.form:
        password = request.form['password']
    else:
        return {'status':'failed','data':'password required'}
    #密码要求8~16位
    if len(password)<8 or len(password)>16:
        return {'status':'failed','data':'password too short or too long'}
    #密码中不能有空格
    if ' ' in password:
        return {'status':'failed','data':'invalid type'}
    #用户名不能重复申请    
    if Teacher.objects(username=username).count()>0:
        return{'status':'failed','data':'duplicated username'}
            
    if 'classname' in request.form:
        classname = request.form['classname']
    else:
        return{'status':'failed','data':'classname required'}

    if 'phonenum' in request.form:
        phonenum = request.form['phonenum']
    else:
        return{'status':'failed','data':'classname required'}
    # 若符合要求则将变量存为一个Teacher对象      
    Teacher(username=username,password=password,
    classname=classname,phonenum=phonenum)
    return{'status':'success'}

#定义判断用户名与密码是否对应的函数
def auth(username,password):
    users=Teacher.objects(username=username)
    if users.count()==0:
        return False
    if users[0].password !=password:
        return False
    return True    

@app.route('/user2_login',methods=['POST'])
def user2_login():
    if 'phonenum' in request.form:
        phonenum = request.form['phonenum']
    else:
        return{'status':'failed','data':'phonenum required'}

    if 'password' in request.form:
        password = request.form['password']
    else:
        return{'status':'failed','data':'password required'}
    #用户名或密码错误
    if not auth(username,password):
        return{'status':'failed','date':'invalid username or password'}

    return {'status':'success'}

以上代码用以实现教师用户的登录,注册功能,以及配置相关URL。
本文章系web开发小白所写,如有错漏,敬请指摘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

today__present

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值