官方社群在线客服官方频道防骗查询货币工具

BBS论坛(十四)

2025年01月14日 02:16:47
news.like.tgnews.like.tgnews.like.tgnews.like.tg

LIKE.TG 成立于2020年,总部位于马来西亚,是首家汇集全球互联网产品,提供一站式软件产品解决方案的综合性品牌。唯一官方网站:www.like.tg

14.1注册完成跳到上一个页面

(1)front/form.py

代码语言:javascript
复制
# front/forms.py __author__ = 'derek' from ..forms import BaseForm from wtforms import StringField from wtforms.validators import Regexp,ValidationError,EqualTo from utils import zlcache class SignupForm(BaseForm): telephone=StringField(validators=[Regexp(r'1[3578]\d{9}',message='请输入正确格式的手机号码')]) sms_captcha=StringField(validators=[Regexp(r'\w{4}',message='请输入四位短信验证码')]) username=StringField(validators=[Regexp(r'.{3,15}',message='用户名长度在3-15位之间')]) password=StringField(validators=[Regexp(r'[0-9a-zA-Z_\.]{6,15}',message='请输入正确格式的密码')]) password2=StringField(validators=[EqualTo('password',message='两次输入的密码不一致')]) graph_captcha=StringField(validators=[Regexp(r'\w{4}',message='图形验证码不正确')]) def validate_sms_captcha(self,field): # 必须传入的参数self,field # 使用fields.data和使用self.sms_captcha.data是一样的 sms_captcha=field.data telephone=self.telephone.data if sms_captcha != '1111': sms_captcha_mem=zlcache.get(telephone) if not sms_captcha_mem or sms_captcha_mem.lower() != sms_captcha.lower(): raise ValidationError(message='短信验证码错误') def validate_graph_captcha(self,field): graph_captcha=field.data if graph_captcha != '1111': graph_captcha_mem=zlcache.get(graph_captcha.lower()) if not graph_captcha_mem: raise ValidationError(message='图形验证码错误')

(2)utils/safeutils.py

代码语言:javascript
复制
from urllib.parse import urlparse,urljoin from flask import request def is_safe_url(target): ref_url = urlparse(request.host_url) test_url = urlparse(urljoin(request.host_url, target)) return test_url.scheme in ('http', 'https') and \ ref_url.netloc == test_url.netloc

(3)front/views.py

代码语言:javascript
复制
class SignupView(views.MethodView): def get(self): return_to = request.referrer if return_to and return_to != request.url and safeutils.is_safe_url(return_to): return render_template('front/signup.html', return_to=return_to) else: return render_template('front/signup.html') def post(self): form = SignupForm(request.form) if form.validate(): telephone = form.telephone.data username = form.username.data password = form.password.data user = FrontUser(telephone=telephone, username=username, password=password) db.session.add(user) db.session.commit() return restful.success() else: print(form.get_error()) return restful.params_error(message=form.get_error())

(4)front/signup.html

代码语言:javascript
复制
<div class="form-group"> <span style="display: none" id="return-to-span">{{ return_to }}</span> <button id="submit-btn" class="btn btn-warning btn-block">立即注册</button> </div>

(6)front/signup.js

代码语言:javascript
复制
$(function () { $('#submit-btn').on('click', function () { var telephone_input = $('input[name=telephone]'); var sms_captcha_input = $('input[name=sms_captcha]'); var username_input = $('input[name=username]'); var password_input = $('input[name=password1]'); var password2_input = $('input[name=password2]'); var graph_captcha_input = $('input[name=graph_captcha]'); var telephone = telephone_input.val(); var sms_captcha = sms_captcha_input.val(); var username = username_input.val(); var password = password_input.val(); var password2 = password2_input.val(); var graph_captcha = graph_captcha_input.val(); zlajax.post({ 'url': '/signup/', 'data': { 'telephone': telephone, 'sms_captcha': sms_captcha, 'username': username, 'password': password, 'password2': password2, 'graph_captcha': graph_captcha }, 'success': function (data) { if (data['code'] == 200) { var return_to = $('#return-to-span').text(); if (return_to) { window.location = return_to } else { window.location = '/' } } else { zlalert.alertInfoToast(data['message']); } }, 'fail': function () { zlalert.alertNetworkError(); } }); }); });

现在关注【LIKE.TG出海指南频道】【LIKE.TG大客户服务频道】,即可免费领取【WhatsApp、LINE、Telegram、Twitter、ZALO云控】等获客工具试用、【住宅IP、号段筛选】等免费资源,机会难得,快来解锁更多资源,助力您的业务飞速成长!点击【联系客服】

本文由LIKE.TG编辑部转载自互联网并编辑,如有侵权影响,请联系官方客服,将为您妥善处理。

This article is republished from public internet and edited by the LIKE.TG editorial department. If there is any infringement, please contact our official customer service for proper handling.


Server deployment全球论坛人工智能论坛全球峰会发展论坛战略论坛开放论坛程序员论坛互联网峰会科技峰会
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈