Repository: BeanWei/flask-user-api-template Branch: master Commit: 5cefcd0313a6 Files: 47 Total size: 125.1 KB Directory structure: gitextract_c8g0wq5i/ ├── .gitignore ├── README.md ├── app/ │ ├── __init__.py │ ├── api_v1/ │ │ ├── __init__.py │ │ ├── passport.py │ │ └── verify.py │ ├── auth/ │ │ ├── __init__.py │ │ └── auth.py │ ├── models.py │ └── utils/ │ ├── __init__.py │ ├── common.py │ ├── email.py │ └── response_code.py ├── logs/ │ └── log ├── manage.py └── vuejs/ ├── .babelrc ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── .vscode/ │ └── settings.json ├── README.md ├── build/ │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-server.js │ ├── utils.js │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── config/ │ ├── dev.env.js │ ├── index.js │ └── prod.env.js ├── index.html ├── package.json ├── src/ │ ├── App.vue │ ├── api/ │ │ ├── api.js │ │ └── index.js │ ├── main.js │ ├── router/ │ │ └── index.js │ ├── store/ │ │ └── index.js │ ├── utils/ │ │ └── core.js │ └── views/ │ ├── index.vue │ └── passport/ │ ├── login.vue │ └── signin.vue └── static/ ├── .gitkeep └── css/ └── style.css ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ .DS_Store node_modules/ dist/ npm-debug.log* yarn-debug.log* yarn-error.log* # Editor directories and files .idea *.suo *.ntvs* *.njsproj *.sln migrations/ config.py* ================================================ FILE: README.md ================================================ ## flask + Vue + Vuex + iview => 前后端分离 ### 提供一个可以复用的 用户注册登录,Token验证,session/cookie 登录的 模板 #### 已完成 - [x] 用户注册与登录 - [x] 关联QQ邮箱,注册时发送验证码邮件 - [x] 登录成功后获取token并缓存在本地 - [x] 用户登出,销毁Token #### Todo - [ ] Session/Cookie 保持会话 - [ ] 用户新登录时需要填写验证码,验证码图片由后台Python生成并缓存到Redis,图片显示于前端,登录时前端数据与数据库数据校验 ### 现有的特性 * 用户密码两次加密,前后端各加密一次 * 利用flask_mail多线程发送邮箱 * 邮箱验证码缓存在Redis中 ------------------------------------------------------------ #### 展示 * 登录页 ![Alt text](https://github.com/BeanWei/flask-user-api-template/blob/master/Screenshots/login.PNG) * 注册页 ![Alt text](https://github.com/BeanWei/flask-user-api-template/blob/master/Screenshots/signin.PNG) * QQ邮箱 ![Alt text](https://github.com/BeanWei/flask-user-api-template/blob/master/Screenshots/email.PNG) ------------------------------------------------------------ 此项目基本上实现了关于用户的业务逻辑需求,后续的需求可以在此模板上进行再次开发. ================================================ FILE: app/__init__.py ================================================ import logging from logging.handlers import RotatingFileHandler import redis from flask import Flask, request from flask_cors import CORS from flask_sqlalchemy import SQLAlchemy from flask_mail import Mail from config import APP_ENV, config db = SQLAlchemy() mail = Mail() redis_conn = None def setupLogging(level): '''创建日志记录''' # 设置日志的记录等级 logging.basicConfig(level=level) # 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限 #TODO: 这里的日志记录可以根据日期命名文件名,方便查看每天的日志记录 file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024 * 1024 * 100, backupCount=10) # 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息 formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s') # 为刚创建的日志记录器设置日志记录格式 file_log_handler.setFormatter(formatter) #为全局添加日志记录器 logging.getLogger().addHandler(file_log_handler) # def after_request(response): # '''设置请求头''' # # response.headers.add('Access-Control-Allow-Origin', '*') # # if request.method == 'OPTIONS': # # response.headers['Access-Control-Allow-Methods'] = 'DELETE, GET, POST, PUT' # # headers = request.headers.get('Access-Control-Request-Headers') # # if headers: # # response.headers['Access-Control-Allow-Headers'] = headers # # return response # response.headers['Access-Control-Allow-Origin'] = '*' # response.headers['Access-Control-Allow-Methods'] = 'PUT,GET,POST,DELETE' # response.headers['Access-Control-Allow-Headers'] = 'Content-Type,Authorization' # return response def creat_app(): ''' 工厂函数,创建APP实例 :return app实例 ''' setupLogging(config[APP_ENV].LOGGING_LEVEL) app = Flask(__name__) app.config.from_object(config[APP_ENV]) CORS(app, resources=r'/*') # app.after_request(after_request) #创建Redis数据库连接对象 global redis_conn redis_conn = redis.StrictRedis(host=config[APP_ENV].REDIS_HOST, port=config[APP_ENV].REDIS_PORT) db.init_app(app) mail.init_app(app) #注册api_v1_0 蓝图 from app.api_v1 import api app.register_blueprint(api, url_prefix='/api/v1.0') return app ================================================ FILE: app/api_v1/__init__.py ================================================ from flask import Blueprint api = Blueprint('api', __name__) from . import passport, verify ================================================ FILE: app/api_v1/passport.py ================================================ import base64 from flask import g, current_app, jsonify, request,make_response from flask_httpauth import HTTPBasicAuth auth = HTTPBasicAuth() from app import db, redis_conn from app.api_v1 import api from app.models import User from app.utils.response_code import RET from app.utils.email import send_mail @api.route('/signin', methods=['POST']) def signin(): '''用户注册接口 :return 返回注册信息{'re_code': '0', 'msg': '注册成功'} ''' nickname =request.json.get('nickname') email =request.json.get('email') password =request.json.get('password') mailcode_client =request.json.get('mailcode') if not all([email, nickname, password, mailcode_client]): return jsonify(re_code=RET.PARAMERR, msg='参数不完整') #从Redis中获取此邮箱对应的验证码,与前端传来的数据校验 try: mailcode_server = redis_conn.get('EMAILCODE:'+ email).decode() except Exception as e: current_app.logger.debug(e) return jsonify(re_code=RET.DBERR, msg='查询邮箱验证码失败') if mailcode_server != mailcode_client: current_app.logger.debug(mailcode_server) return jsonify(re_code=RET.PARAMERR, msg='邮箱验证码错误') user = User() user.email = email user.nickname = nickname user.password = password #利用user model中的类属性方法加密用户的密码并存入数据库 try: db.session.add(user) db.session.commit() except Exception as e: current_app.logger.debug(e) db.session.rollback() return jsonify(re_code=RET.DBERR, msg='注册失败') #6.响应结果 return jsonify(re_code=RET.OK,msg='注册成功') @api.route('/login', methods=['POST']) def login(): '''登录 TODO: 添加图片验证 :return 返回响应,保持登录状态 ''' email = request.json.get('email') password = request.json.get('password') #解析Authorization #email, password = base64.b64decode(request.headers['Authorization'].split(' ')[-1]).decode().split(':') if not all([email, password]): return jsonify(re_code=RET.PARAMERR, msg='参数不完整') try: user = User.query.filter(User.email==email).first() except Exception as e: current_app.logger.debug(e) return jsonify(re_code=RET.DBERR, msg='查询用户失败') if not user: return jsonify(re_code=RET.NODATA, msg='用户不存在',user=user) if not user.verify_password(password): return jsonify(re_code=RET.PARAMERR, msg='帐户名或密码错误') #更新最后一次登录时间 user.update_last_seen() token = user.generate_user_token() return jsonify(re_code=RET.OK, msg='登录成功',token=token) @auth.verify_password def verify_password(email_or_token, password): if request.path == '/login': user = User.query.filter_by(email=email_or_token).first() if not user or not user.verify_password(password): return False else: user = User.verify_user_token(email_or_token) if not user: return False g.user = user return True # if not email_or_token: # return False # email_or_token = re.sub(r'^"|"$', '', email_or_token) # user = User.verify_auth_token(email_or_token) # if not user: # user = User.query.filter_by(email=email_or_token).first() # if not user or not user.verify_password(password): # return False # g.user = user # return True # user = User.verify_user_token(email_or_token) # if not user: # # try to authenticate with email/password # user = User.query.filter_by(email=email_or_token).first() # if not user or not user.verify_password(password): # return False # g.user = user # return True @auth.error_handler def unauthorized(): return make_response(jsonify({'error': 'Unauthorized access'}), 401) @api.route('/') @auth.login_required def get_resource(): return jsonify({'data': 'Hello, %s!' % g.user.email}) # @api.route('/login') # @auth.login_required # def get_user_token(): # token = g.user.generate_user_token() # return jsonify(re_code=RET.OK, msg='获取Token成功', token=token.decode('ascii'), usr=g.user.email) ================================================ FILE: app/api_v1/verify.py ================================================ import random import re import json from flask import current_app, jsonify, request, make_response from app import redis_conn from app.models import User from app.utils.response_code import RET,error_map from app.utils.email import send_mail from . import api @api.route('/mailcode', methods=['POST']) def send_mail_code(): '''发送邮箱验证码''' nickname =request.json.get('nickname') email =request.json.get('email') if not all([email, nickname]): return jsonify(re_code=RET.PARAMERR, msg='请填写完整的注册信息') #邮箱匹配正则 #^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$ #手机号匹配正则 #^0\d{2,3}\d{7,8}$|^1[358]\d{9}$|^147\d{8}$ if not re.match(r'^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$', email): return jsonify(RET.PARAMERR, msg='请填写正确的邮箱') #判断用户是否已注册 try: user_email = User.query.filter(User.email == email).first() user_nickname = User.query.filter(User.nickname == nickname).first() except Exception as e: current_app.logger.debug(e) return jsonify(re_code=RET.DBERR, msg='查询数据库错误') #用户存在,提示该账户已被注册 if user_email or user_nickname: return jsonify(re_code=RET.DATAEXIST, msg='该用户已被注册') #生成邮箱验证码 email_code = '%06d' % random.randint(0,99999) current_app.logger.debug('邮箱验证码为: ' + email_code) try: redis_conn.set('EMAILCODE:'+ email, email_code, 1800) #half-hour = 1800有效期 except Exception as e: current_app.logger.debug(e) return jsonify(re_code=RET.DBERR, msg='存储邮箱验证码失败') #发送邮件 send_mail( to = email, nickname = nickname, mailcode = email_code ) return jsonify(re_code=RET.OK, msg='验证码发送成功') ================================================ FILE: app/auth/__init__.py ================================================ ================================================ FILE: app/auth/auth.py ================================================ import jwt, datetime, time from flask import jsonify from app.models import User from config import config class Auth(): ''' Auth_JWT ''' @staticmethod def encode_auth_token(user_id, login_time): '''生成认证Token :param user_id: int :param login_time: int(timestamp) :return: string ''' try: payload = { 'exp': datetime.datetime.utcnow() + datetime.timedelta(days=0, seconds=10), 'iat': datetime.datetime.utcnow(), 'iss': 'ken', 'data': { 'id': user_id, 'login_time': login_time } } return jwt.encode( payload, config.SECRET_KEY, algorithm='HS256' ) except Exception as e: return e @staticmethod def decode_auth_token(auth_token): ''' 验证Token :param auth_token: :return: integer|string ''' try: # payload = jwt.decode(auth_token, app.config.get('SECRET_KEY'), leeway=datetime.timedelta(seconds=10)) # 取消过期时间验证 payload = jwt.decode(auth_token, config.SECRET_KEY, options={'verify_exp': False}) if ('data' in payload and 'id' in payload['data']): return payload else: raise jwt.InvalidTokenError except jwt.ExpiredSignatureError: return 'Token过期' except jwt.InvalidTokenError: return '无效Token' def authenticate(self, username, password): ''' 用户登录,登录成功返回token,写将登录时间写入数据库;登录失败返回失败原因 :param password: :return: json ''' userInfo = Users.query.filter_by(username=username).first() if (userInfo is None): return jsonify(common.falseReturn('', '找不到用户')) else: if (Users.check_password(Users, userInfo.password, password)): login_time = int(time.time()) userInfo.login_time = login_time Users.update(Users) token = self.encode_auth_token(userInfo.id, login_time) return jsonify(common.trueReturn(token.decode(), '登录成功')) else: return jsonify(common.falseReturn('', '密码不正确')) def identify(self, request): ''' 用户鉴权 :return: list ''' auth_header = request.headers.get('Authorization') if (auth_header): auth_tokenArr = auth_header.split(" ") if (not auth_tokenArr or auth_tokenArr[0] != 'JWT' or len(auth_tokenArr) != 2): result = common.falseReturn('', '请传递正确的验证头信息') else: auth_token = auth_tokenArr[1] payload = self.decode_auth_token(auth_token) if not isinstance(payload, str): user = Users.get(Users, payload['data']['id']) if (user is None): result = common.falseReturn('', '找不到该用户信息') else: if (user.login_time == payload['data']['login_time']): result = common.trueReturn(user.id, '请求成功') else: result = common.falseReturn('', 'Token已更改,请重新登录获取') else: result = common.falseReturn('', payload) else: result = common.falseReturn('', '没有提供认证token') return result ================================================ FILE: app/models.py ================================================ from datetime import datetime from werkzeug.security import generate_password_hash, check_password_hash from itsdangerous import TimedJSONWebSignatureSerializer as Serializer, BadSignature, SignatureExpired from flask import jsonify, current_app, g, request from functools import wraps from app.utils.response_code import RET from . import db class User(db.Model): '''用户模型 ''' __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True, index=True) nickname = db.Column(db.String(255), unique=True,index=True) password_hash = db.Column(db.String(128)) join_time = db.Column(db.DateTime, default=datetime.utcnow) last_seen = db.Column(db.DateTime, default=datetime.utcnow) @property def password(self): raise AttributeError('密码不可访问') @password.setter def password(self, password): '''生成hash密码''' self.password_hash = generate_password_hash(password) def verify_password(self, password): ''' 密码验证 :param password-> 用户密码 :return 验证成功返回True,否则返回False ''' return check_password_hash(self.password_hash, password) def generate_user_token(self, expiration=43200): ''' 生成确认身份的Token(密令) :param expiration-> 有效期限,单位为秒/此处默认设置为12h :return 加密过的token ''' s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration) return s.dumps({'id': self.id, 'email': self.email}).decode('utf-8') # 解析token,确认登录的用户身份 @staticmethod def verify_user_token(token): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token) except SignatureExpired: return None # valid token, but expired except BadSignature: return None # invalid token user = User.query.get(data['id']) return user #额外的功能 def update_last_seen(self): ''' 更新最后一次登录时间 ''' self.last_seen = datetime.utcnow() db.session.add(self) def to_json(self): '''返回用户信息''' return { 'user_id': self.id, 'nickname': self.nickname, 'email': self.email, } def __repr__(self): return '' % self.nickname #TODO: 可以添加用户头像 ================================================ FILE: app/utils/__init__.py ================================================ ================================================ FILE: app/utils/common.py ================================================ from functools import wraps from flask import abort, session, jsonify, g from .response_code import RET def login_required(view_func): """登录校验装饰器 :param func:函数名 :return: 闭包函数名 """ # 装饰器装饰一个函数时,会修改该函数的__name__属性 # 如果希望装饰器装饰之后的函数,依然保留原始的名字和说明文档,就需要使用wraps装饰器,装饰内存函数 @wraps(view_func) def wrapper(*args,**kwargs): #从session中或取user_id user_id=session.get('user_id') if not user_id: #用户未登录 return jsonify(re_code=RET.SESSIONERR,msg='用户未登录') else: #用户已登录使用g变量保存住user_id,方便被装饰的函数中调用g变量获取user_id。 g.user_id=user_id return view_func(*args,**kwargs) return wrapper # def login_required(view_func): # """登录校验装饰器 # :param func:函数名 # :return: 闭包函数名 # """ # # 装饰器装饰一个函数时,会修改该函数的__name__属性 # # 如果希望装饰器装饰之后的函数,依然保留原始的名字和说明文档,就需要使用wraps装饰器,装饰内存函数 # @wraps(view_func) # def decorated(*args,**kwargs): # token = request.headers.get('Authorization', None) # if token: # string_token = token.encode('ascii', 'ignore') # user = User.verify_user_token(string_token) # if user: # g.current_user = User # return view_func(*args,**kwargs) # return jsonify(re_code=RET.SESSIONERR, msg='Authentication is required to access this resource'), 401 # return decorated ================================================ FILE: app/utils/email.py ================================================ from threading import Thread from flask import current_app from flask_mail import Message from datetime import datetime from app import mail def send_async_email(app, msg): with app.app_context(): #确认程序上下文被激活 mail.send(msg) def send_mail(to, nickname, mailcode): '''使用新线程异步发送邮箱 :param to -> 收件人 :param nickname -> 收件人注册时所填写的昵称 :param mailcode -> 生成的邮箱验证码 :return 执行线程 ''' app = current_app._get_current_object() msg = Message(app.config['FLASK_MAIL_SUBJECT_PREFIX'] + "您的账号注册验证码", sender=app.config['FLASK_MAIL_SENDER'], recipients=[to]) # 邮件内容会以文本和html两种格式呈现,而你能看到哪种格式取决于你的邮件客户端。 msg.body = 'sended by flask-email' msg.html = '''

亲爱的 {nickname},

欢迎来到 Flask-Test-Project!

您的验证码为    {mailcode}    赶快去完善注册信息吧!!!

感谢您的支持和理解

来自:Flask-Test-Project

{time}

'''.format(nickname=nickname, mailcode=mailcode, time=datetime.utcnow) thread = Thread(target=send_async_email, args=[app, msg]) thread.start() return thread ================================================ FILE: app/utils/response_code.py ================================================ '''响应状态码 网页响应的对应的状态码 ''' class RET: OK = "0" DBERR = "4001" NODATA = "4002" DATAEXIST = "4003" DATAERR = "4004" SESSIONERR = "4101" LOGINERR = "4102" PARAMERR = "4103" USERERR = "4104" ROLEERR = "4105" PWDERR = "4106" REQERR = "4201" IPERR = "4202" THIRDERR = "4301" IOERR = "4302" SERVERERR = "4500" UNKOWNERR = "4501" error_map = { RET.OK : u"成功", RET.DBERR : u"数据库查询错误", RET.NODATA : u"无数据", RET.DATAEXIST : u"数据已存在", RET.DATAERR : u"数据错误", RET.SESSIONERR : u"用户未登录", RET.LOGINERR : u"用户登录失败", RET.PARAMERR : u"参数错误", RET.USERERR : u"用户不存在或未激活", RET.ROLEERR : u"用户身份错误", RET.PWDERR : u"密码错误", RET.REQERR : u"非法请求或请求次数受限", RET.IPERR : u"IP受限", RET.THIRDERR : u"第三方系统错误", RET.IOERR : u"文件读写错误", RET.SERVERERR : u"内部错误", RET.UNKOWNERR : u"未知错误", } ================================================ FILE: logs/log ================================================ INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 21:51:00] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 21:51:20] "GET /api/v1.0/token HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:12:24] "GET /api/v1.0/token HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:14:10] "GET /api/v1.0/token HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:15:49] "GET /api/v1.0/resource HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:16:14] "GET /api/v1.0/resource HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:20:54] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:21:23] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:42:54] "GET /api/v1.0/resource HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:52:35] "OPTIONS /api/login HTTP/1.1" 404 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:52:38] "OPTIONS /api/login HTTP/1.1" 404 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:52:42] "OPTIONS /api/login HTTP/1.1" 404 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:53:18] "OPTIONS /api/login HTTP/1.1" 404 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:55:17] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 22:55:17] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:06:29] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:06:29] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:11:20] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:11:20] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:16:37] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:16:37] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:16:53] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:16:53] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:17:15] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:17:15] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:17:48] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:17:48] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:21:54] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:21:54] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:22:26] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:22:26] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:28:07] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:28:07] "GET /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:28:50] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:28:50] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:34:45] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:34:45] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:37:46] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:37:46] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:39:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [20/Apr/2018 23:39:03] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:05:17] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:05:17] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:06:29] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:06:29] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:12:24] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:12:24] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:16:35] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:16:35] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:16:46] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:16:46] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:21:00] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 00:21:00] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:10:29] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:10:29] "GET /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:21:46] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:21:46] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:22:09] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:22:09] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:22:09] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:22:09] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:42:40] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 09:42:40] "GET /api/v1.0/login HTTP/1.1" 405 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:33:31] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:33:31] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:41:27] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:41:27] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:56:04] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:56:04] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:57:11] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:57:11] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:59:31] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 10:59:31] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:00:30] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:00:30] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:02:33] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:02:33] "POST /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:05:13] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:05:13] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:12:26] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:12:26] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:15] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:15] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:19] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:20] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:21] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:21] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:21] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:21] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:21] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:22] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:22] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:22] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:32] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:13:32] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:30:46] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:30:46] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:32:10] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:32:10] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:34:21] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:34:21] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:34:49] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:34:49] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:39:09] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 11:39:09] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:00:01] "GET /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:00:26] "GET /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:01:49] "GET /api/v1.0/ HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:07:06] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:07:06] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:07:18] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:07:18] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:10:25] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:10:25] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:11:31] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:11:31] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:13:37] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:13:37] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:47:45] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:48:12] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:48:12] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:50:16] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:50:16] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:51:37] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:51:37] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:53:43] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:53:43] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:58:16] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 12:58:16] "GET /api/v1.0/login HTTP/1.1" 401 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 13:41:30] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 13:52:47] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 13:53:43] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 13:54:15] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:00:44] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:02:38] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:07:03] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:10:16] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:11:14] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\models.py', reloading INFO _internal.py:88 * Restarting with stat INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:44:25] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:44:47] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:49:28] "GET /api/v1.0/eyJhbGciOiJIUzI1NiIsImlhdCI6MTUyNDI4MzIyNiwiZXhwIjoxNTI0MzI2NDI2fQ.eyJpZCI6MX0.fzbjJamKO-Nk9ATN1P4DH4FkU2H0lFXoB50FBDKTz-w HTTP/1.1" 404 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 14:50:37] "GET /api/v1.0/ HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\models.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:10:49] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:10:49] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:12:00] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:12:00] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:14:31] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:14:31] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:16:57] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:16:57] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:17:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:17:03] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:17:49] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:17:49] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:19:05] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:19:05] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:22:05] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:22:05] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:22:42] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:22:42] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:23:29] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:23:30] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:23:33] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:25:52] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:25:52] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:26:02] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:26:02] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:26:48] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:26:48] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:28:01] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:28:01] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:28:11] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:28:11] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:29:45] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:29:45] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:31:02] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:31:02] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:31:35] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:31:35] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:35:41] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:35:41] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:43:24] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:43:24] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:44:43] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:44:43] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:45:48] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:45:48] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:56:10] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:56:10] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:56:57] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:56:57] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 15:59:08] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:00:10] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:00:33] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:07:56] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:08:35] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:10:46] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:10:51] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:10:51] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:11:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:11:03] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:11:30] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:11:30] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:21:11] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:22:29] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:23:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:23:03] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:23:08] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:24:35] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:25:02] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:25:59] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:26:07] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:26:24] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:27:10] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:29:46] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:31:02] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:34:03] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:34:56] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:35:10] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:36:55] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:37:47] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:39:54] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:40:23] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:42:24] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:42:30] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:42:30] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:42:39] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:42:39] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:43:26] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:43:26] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:44:22] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:44:22] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:48:55] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:48:59] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:48:59] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:52:30] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:52:33] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 16:52:33] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 18:43:01] "OPTIONS /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 18:43:01] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 18:43:20] "OPTIONS /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [21/Apr/2018 18:43:20] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:30:03] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:31:34] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\verify.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\config.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:48:19] "POST /api/v1.0/mailcode HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:51:46] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:52:19] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:52:40] "POST /api/v1.0/mailcode HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:52:52] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:56:27] "POST /api/v1.0/mailcode HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:56:37] "POST /api/v1.0/signin HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:57:36] "POST /api/v1.0/signin HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 01:58:55] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 02:01:21] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 02:08:17] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 02:09:25] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 02:11:06] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:46:02] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:46:02] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:50:19] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:50:19] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:56:48] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:56:48] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:58:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:58:03] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:58:53] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 08:58:53] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:04:14] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:04:14] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:04:35] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:04:35] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:05:00] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:05:00] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:06:37] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:06:37] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:13:19] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:13:19] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:15:55] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:15:55] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:37:36] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:37:36] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:44:05] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 09:44:05] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:13:39] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:13:39] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\__init__.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:39:34] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:39:34] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:47:40] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 10:53:07] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:06:52] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:14:26] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:15:53] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:17:03] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:18:33] "POST /api/v1.0/login HTTP/1.1" 500 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:19:26] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:20:14] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:20:14] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:24:03] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:24:03] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:26:58] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:26:58] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:44:33] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:44:33] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:47:14] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:47:14] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:47:17] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:48:31] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:48:31] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:53:48] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:53:48] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:57:19] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:57:19] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:57:21] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:59:17] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 11:59:17] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:46:32] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:46:32] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:47:12] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:47:12] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:48:37] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:48:37] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:48:40] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\config.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:56:41] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:56:41] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:58:01] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 14:58:32] "POST /api/v1.0/login HTTP/1.1" 400 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:00:47] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:01:35] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:02:43] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:03:07] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:03:41] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:03:41] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:04:23] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:04:24] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\passport.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\app\\api_v1\\verify.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\config.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:09:21] "OPTIONS /api/v1.0/mailcode HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:09:21] "POST /api/v1.0/mailcode HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:09:45] "OPTIONS /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:09:45] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:12:11] "OPTIONS /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:12:11] "POST /api/v1.0/signin HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:12:56] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:12:56] "POST /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 * Detected change in 'E:\\WebProject\\MyProject\\flask-user-API-template\\config.py', reloading INFO _internal.py:88 * Restarting with stat WARNING _internal.py:88 * Debugger is active! INFO _internal.py:88 * Debugger PIN: 163-446-745 INFO _internal.py:88 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:16:42] "OPTIONS /api/v1.0/login HTTP/1.1" 200 - INFO _internal.py:88 127.0.0.1 - - [22/Apr/2018 15:16:42] "POST /api/v1.0/login HTTP/1.1" 200 - ================================================ FILE: manage.py ================================================ import os from app import creat_app, db from app import models from flask_script import Manager, Shell from flask_migrate import Migrate, MigrateCommand app = creat_app() manager = Manager(app) migrate = Migrate(app, db) def make_shell_context(): return dict(app=app, db=db, User=models.User) ''' 数据库迁移指令 python manage.py db init python manage.py db migrate python manage.py db upgrade ''' manager.add_command('shell', Shell(make_context=make_shell_context)) manager.add_command('db', MigrateCommand) @manager.command def deploy(): ''' 部署命令 ''' from flask_migrate import upgrade upgrade() if __name__ == "__main__": manager.run() ================================================ FILE: vuejs/.babelrc ================================================ { "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-runtime"], "env": { "test": { "presets": ["env", "stage-2"], "plugins": ["istanbul"] } } } ================================================ FILE: vuejs/.editorconfig ================================================ root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true ================================================ FILE: vuejs/.gitignore ================================================ .DS_Store node_modules/ dist/ npm-debug.log* yarn-debug.log* yarn-error.log* # Editor directories and files .idea *.suo *.ntvs* *.njsproj *.sln ================================================ FILE: vuejs/.postcssrc.js ================================================ // https://github.com/michael-ciniawsky/postcss-load-config module.exports = { "plugins": { // to edit target browsers: use "browserslist" field in package.json "autoprefixer": {} } } ================================================ FILE: vuejs/.vscode/settings.json ================================================ { "git.ignoreLimitWarning": true } ================================================ FILE: vuejs/README.md ================================================ # blog2.0 > A Vue.js project ## Build Setup ``` bash # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report ``` For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). ================================================ FILE: vuejs/build/build.js ================================================ require('./check-versions')() process.env.NODE_ENV = 'production' var ora = require('ora') var rm = require('rimraf') var path = require('path') var chalk = require('chalk') var webpack = require('webpack') var config = require('../config') var webpackConfig = require('./webpack.prod.conf') var spinner = ora('building for production...') spinner.start() rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { if (err) throw err webpack(webpackConfig, function (err, stats) { spinner.stop() if (err) throw err process.stdout.write(stats.toString({ colors: true, modules: false, children: false, chunks: false, chunkModules: false }) + '\n\n') if (stats.hasErrors()) { console.log(chalk.red(' Build failed with errors.\n')) process.exit(1) } console.log(chalk.cyan(' Build complete.\n')) console.log(chalk.yellow( ' Tip: built files are meant to be served over an HTTP server.\n' + ' Opening index.html over file:// won\'t work.\n' )) }) }) ================================================ FILE: vuejs/build/check-versions.js ================================================ var chalk = require('chalk') var semver = require('semver') var packageConfig = require('../package.json') var shell = require('shelljs') function exec (cmd) { return require('child_process').execSync(cmd).toString().trim() } var versionRequirements = [ { name: 'node', currentVersion: semver.clean(process.version), versionRequirement: packageConfig.engines.node } ] if (shell.which('npm')) { versionRequirements.push({ name: 'npm', currentVersion: exec('npm --version'), versionRequirement: packageConfig.engines.npm }) } module.exports = function () { var warnings = [] for (var i = 0; i < versionRequirements.length; i++) { var mod = versionRequirements[i] if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { warnings.push(mod.name + ': ' + chalk.red(mod.currentVersion) + ' should be ' + chalk.green(mod.versionRequirement) ) } } if (warnings.length) { console.log('') console.log(chalk.yellow('To use this template, you must update following to modules:')) console.log() for (var i = 0; i < warnings.length; i++) { var warning = warnings[i] console.log(' ' + warning) } console.log() process.exit(1) } } ================================================ FILE: vuejs/build/dev-client.js ================================================ /* eslint-disable */ require('eventsource-polyfill') var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') hotClient.subscribe(function (event) { if (event.action === 'reload') { window.location.reload() } }) ================================================ FILE: vuejs/build/dev-server.js ================================================ require('./check-versions')() var config = require('../config') if (!process.env.NODE_ENV) { process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) } var opn = require('opn') var path = require('path') var express = require('express') var webpack = require('webpack') var proxyMiddleware = require('http-proxy-middleware') var webpackConfig = require('./webpack.dev.conf') // default port where dev server listens for incoming traffic var port = process.env.PORT || config.dev.port // automatically open browser, if not set will be false var autoOpenBrowser = !!config.dev.autoOpenBrowser // Define HTTP proxies to your custom API backend // https://github.com/chimurai/http-proxy-middleware var proxyTable = config.dev.proxyTable var app = express() var compiler = webpack(webpackConfig) var devMiddleware = require('webpack-dev-middleware')(compiler, { publicPath: webpackConfig.output.publicPath, quiet: true }) var hotMiddleware = require('webpack-hot-middleware')(compiler, { log: false, heartbeat: 2000 }) // force page reload when html-webpack-plugin template changes compiler.plugin('compilation', function (compilation) { compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { hotMiddleware.publish({ action: 'reload' }) cb() }) }) // proxy api requests Object.keys(proxyTable).forEach(function (context) { var options = proxyTable[context] if (typeof options === 'string') { options = { target: options } } app.use(proxyMiddleware(options.filter || context, options)) }) // handle fallback for HTML5 history API app.use(require('connect-history-api-fallback')()) // serve webpack bundle output app.use(devMiddleware) // enable hot-reload and state-preserving // compilation error display app.use(hotMiddleware) // serve pure static assets var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) app.use(staticPath, express.static('./static')) var uri = 'http://localhost:' + port var _resolve var readyPromise = new Promise(resolve => { _resolve = resolve }) console.log('> Starting dev server...') devMiddleware.waitUntilValid(() => { console.log('> Listening at ' + uri + '\n') // when env is testing, don't need open it if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { opn(uri) } _resolve() }) var server = app.listen(port) module.exports = { ready: readyPromise, close: () => { server.close() } } ================================================ FILE: vuejs/build/utils.js ================================================ var path = require('path') var config = require('../config') var ExtractTextPlugin = require('extract-text-webpack-plugin') exports.assetsPath = function (_path) { var assetsSubDirectory = process.env.NODE_ENV === 'production' ? config.build.assetsSubDirectory : config.dev.assetsSubDirectory return path.posix.join(assetsSubDirectory, _path) } exports.cssLoaders = function (options) { options = options || {} var cssLoader = { loader: 'css-loader', options: { minimize: process.env.NODE_ENV === 'production', sourceMap: options.sourceMap } } // generate loader string to be used with extract text plugin function generateLoaders (loader, loaderOptions) { var loaders = [cssLoader] if (loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) } // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } } // https://vue-loader.vuejs.org/en/configurations/extract-css.html return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass'), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') } } // Generate loaders for standalone style files (outside of .vue) exports.styleLoaders = function (options) { var output = [] var loaders = exports.cssLoaders(options) for (var extension in loaders) { var loader = loaders[extension] output.push({ test: new RegExp('\\.' + extension + '$'), use: loader }) } return output } ================================================ FILE: vuejs/build/vue-loader.conf.js ================================================ var utils = require('./utils') var config = require('../config') var isProduction = process.env.NODE_ENV === 'production' module.exports = { loaders: utils.cssLoaders({ sourceMap: isProduction ? config.build.productionSourceMap : config.dev.cssSourceMap, extract: isProduction }), transformToRequire: { video: 'src', source: 'src', img: 'src', image: 'xlink:href' } } ================================================ FILE: vuejs/build/webpack.base.conf.js ================================================ var path = require('path') var fs = require('fs') var utils = require('./utils') var config = require('../config') var vueLoaderConfig = require('./vue-loader.conf') function resolve (dir) { return path.join(__dirname, '..', dir) } module.exports = { entry: { app: './src/main.js' }, output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath }, resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), }, symlinks: false }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test')] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, { test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('media/[name].[hash:7].[ext]') } }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('fonts/[name].[hash:7].[ext]') } } ] } } ================================================ FILE: vuejs/build/webpack.dev.conf.js ================================================ var utils = require('./utils') var webpack = require('webpack') var config = require('../config') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var HtmlWebpackPlugin = require('html-webpack-plugin') var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') // add hot-reload related code to entry chunks Object.keys(baseWebpackConfig.entry).forEach(function (name) { baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) }) module.exports = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) }, // cheap-module-eval-source-map is faster for development devtool: '#cheap-module-eval-source-map', plugins: [ new webpack.DefinePlugin({ 'process.env': config.dev.env }), // https://github.com/glenjamin/webpack-hot-middleware#installation--usage new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }), new FriendlyErrorsPlugin() ] }) ================================================ FILE: vuejs/build/webpack.prod.conf.js ================================================ var path = require('path') var utils = require('./utils') var webpack = require('webpack') var config = require('../config') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var CopyWebpackPlugin = require('copy-webpack-plugin') var HtmlWebpackPlugin = require('html-webpack-plugin') var ExtractTextPlugin = require('extract-text-webpack-plugin') var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') var env = config.build.env var webpackConfig = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) }, devtool: config.build.productionSourceMap ? '#source-map' : false, output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash].js'), chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') }, plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ 'process.env': env }), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, sourceMap: true }), // extract css into its own file new ExtractTextPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css') }), // Compress extracted CSS. We are using this plugin so that possible // duplicated CSS from different components can be deduped. new OptimizeCSSPlugin({ cssProcessorOptions: { safe: true } }), // generate dist index.html with correct asset hash for caching. // you can customize output by editing /index.html // see https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: config.build.index, template: 'index.html', inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: 'dependency' }), // keep module.id stable when vender modules does not change new webpack.HashedModuleIdsPlugin(), // split vendor js into its own file new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', minChunks: function (module, count) { // any required modules inside node_modules are extracted to vendor return ( module.resource && /\.js$/.test(module.resource) && module.resource.indexOf( path.join(__dirname, '../node_modules') ) === 0 ) } }), // extract webpack runtime and module manifest to its own file in order to // prevent vendor hash from being updated whenever app bundle is updated new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', chunks: ['vendor'] }), // copy custom static assets new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.build.assetsSubDirectory, ignore: ['.*'] } ]) ] }) if (config.build.productionGzip) { var CompressionWebpackPlugin = require('compression-webpack-plugin') webpackConfig.plugins.push( new CompressionWebpackPlugin({ asset: '[path].gz[query]', algorithm: 'gzip', test: new RegExp( '\\.(' + config.build.productionGzipExtensions.join('|') + ')$' ), threshold: 10240, minRatio: 0.8 }) ) } if (config.build.bundleAnalyzerReport) { var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) } module.exports = webpackConfig ================================================ FILE: vuejs/config/dev.env.js ================================================ var merge = require('webpack-merge') var prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"' }) ================================================ FILE: vuejs/config/index.js ================================================ // see http://vuejs-templates.github.io/webpack for documentation. var path = require('path') module.exports = { build: { env: require('./prod.env'), index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/', productionSourceMap: true, // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ['js', 'css'], // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report }, dev: { env: require('./dev.env'), port: 8080, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {}, // CSS Sourcemaps off by default because relative paths are "buggy" // with this option, according to the CSS-Loader README // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. cssSourceMap: false } } ================================================ FILE: vuejs/config/prod.env.js ================================================ module.exports = { NODE_ENV: '"production"' } ================================================ FILE: vuejs/index.html ================================================
================================================ FILE: vuejs/package.json ================================================ { "name": "blog2.0", "version": "1.0.0", "description": "A Vue.js project", "author": "xingyys <598223084@qq.com>", "private": true, "scripts": { "dev": "node build/dev-server.js", "start": "node build/dev-server.js", "build": "node build/build.js" }, "dependencies": { "axios": "^0.16.2", "js-md5": "^0.7.3", "less": "^2.7.2", "less-loader": "^4.0.5", "muse-ui": "^2.1.0", "vue": "^2.4.2", "vue-router": "^2.7.0", "vuex": "^2.4.0" }, "devDependencies": { "autoprefixer": "^7.1.2", "babel-core": "^6.22.1", "babel-loader": "^7.1.1", "babel-plugin-transform-runtime": "^6.22.0", "babel-preset-env": "^1.3.2", "babel-preset-stage-2": "^6.22.0", "babel-register": "^6.22.0", "chalk": "^2.0.1", "connect-history-api-fallback": "^1.3.0", "copy-webpack-plugin": "^4.0.1", "css-loader": "^0.28.0", "cssnano": "^3.10.0", "eventsource-polyfill": "^0.9.6", "express": "^4.14.1", "extract-text-webpack-plugin": "^2.0.0", "file-loader": "^0.11.1", "friendly-errors-webpack-plugin": "^1.1.3", "html-webpack-plugin": "^2.28.0", "http-proxy-middleware": "^0.17.3", "iview": "^2.3.2", "opn": "^5.1.0", "optimize-css-assets-webpack-plugin": "^2.0.0", "ora": "^1.2.0", "rimraf": "^2.6.0", "semver": "^5.3.0", "shelljs": "^0.7.6", "url-loader": "^0.5.8", "vue-loader": "^13.0.4", "vue-style-loader": "^3.0.1", "vue-template-compiler": "^2.3.3", "webpack": "^2.6.1", "webpack-bundle-analyzer": "^2.2.1", "webpack-dev-middleware": "^1.10.0", "webpack-hot-middleware": "^2.18.0", "webpack-merge": "^4.1.0" }, "engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0" }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] } ================================================ FILE: vuejs/src/App.vue ================================================ ================================================ FILE: vuejs/src/api/api.js ================================================ import axios from 'axios' let baseURL = 'http://127.0.0.1:5000/api/v1.0' export const requestLogin = params => { return axios ({ method: 'POST', url: `${baseURL}/login`, data: params }) .then(res => res.data) } export const requestSignin = params => { return axios ({ method: 'POST', url: `${baseURL}/signin`, data: params }) .then(res => res.data) } export const requestMailcode = params => { return axios ({ method: 'POST', url: `${baseURL}/mailcode`, data: params }) .then(res => res.data) } ================================================ FILE: vuejs/src/api/index.js ================================================ import * as api from './api' export default api ================================================ FILE: vuejs/src/main.js ================================================ // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' import store from './store' import axios from 'axios' import iView from 'iview' import 'iview/dist/styles/iview.css' import {Message} from 'iview' Vue.component('Message', Message) Vue.use(iView) Vue.config.productionTip = false // axios.interceptors.request.use((config) => { // console.log(config) // return config; // }, (error) => { // Message.error(error) // return Promise.reject(error) // }) axios.interceptors.request.use( config => { if (localStorage.token) { config.headers.Authorization = `token ${localStorage.token}` } return config },err => { return Promise.reject(err) }) axios.interceptors.response.use((response) => { return response; }, (error) => { if (error.response) { console.log(error) switch (error.response.status) { case 401: store.commit('del_token') router.push('/login') } Message.error('请重新登录') } return Promise.reject(error.response.data) }) router.beforeEach((to, from, next) => { if (to.meta.required) { if (localStorage.token) { store.commit('set_token', localStorage.token) axios.defaults.auth = { email: store.state.token, password: store.state.token, } iView.LoadingBar.start(); next() } else { next({ path: '/login', }) } } else { iView.LoadingBar.start(); next() } }) router.afterEach((to, from, next) => { iView.LoadingBar.finish(); }) Vue.prototype.$axios = axios /* eslint-disable no-new */ new Vue({ el: '#app', router, store, template: '', components: { App } }) ================================================ FILE: vuejs/src/router/index.js ================================================ import Vue from 'vue' import Router from 'vue-router' import Index from '../views/index' import Login from '../views/passport/login' import Signin from '../views/passport/signin' Vue.use(Router) export default new Router({ routes: [{ path: '/', name: 'index', component: Index, meta: { required: true, } }, { path: '/login', name: 'login', component: Login, }, { path: '/signin', name: 'signin', component: Signin }] }) ================================================ FILE: vuejs/src/store/index.js ================================================ import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { token: '' }, mutations: { set_token(state, token) { state.token = token localStorage.token = token }, del_token(state) { state.token = '' localStorage.removeItem('token') } } }) ================================================ FILE: vuejs/src/utils/core.js ================================================ /** * JS-MD5加密用户密码 * @param pwd */ export const encryptedPassword =(pwd) => { let md5 = require('js-md5'); let pwdkey = md5(pwd); return pwdkey; } ================================================ FILE: vuejs/src/views/index.vue ================================================ ================================================ FILE: vuejs/src/views/passport/login.vue ================================================ ================================================ FILE: vuejs/src/views/passport/signin.vue ================================================ ================================================ FILE: vuejs/static/.gitkeep ================================================ ================================================ FILE: vuejs/static/css/style.css ================================================