前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BBS论坛(十六)

BBS论坛(十六)

作者头像
zhang_derek
发布2019-02-13 16:00:07
5.8K0
发布2019-02-13 16:00:07
举报
文章被收录于专栏:有趣的django有趣的django

16.登录功能完成

(1)front/forms.py

代码语言:javascript
复制
class SigninForm(BaseForm):
    telephone = StringField(validators=[Regexp(r'1[3578]\d{9}', message='请输入正确格式的手机号码')])
    password = StringField(validators=[Regexp(r'[0-9a-zA-Z_\.]{6,15}', message='请输入正确格式的密码')])
    remember=StringField()

(2)config.py

代码语言:javascript
复制
FRONT_USER_ID = 'FFFF'

(3)front/views.py

代码语言:javascript
复制
class SigninView(views.MethodView):
    def get(self):
        return_to = request.referrer
        if return_to and return_to != request.url and return_to != url_for('front.signup') and safeutils.is_safe_url(
                return_to):
            return render_template('front/signin.html', return_to=return_to)
        else:
            return render_template('front/signin.html')

    def post(self):
        form = SigninForm(request.form)
        if form.validate():
            telephone = form.telephone.data
            password = form.password.data
            remember = form.remember.data
            user = FrontUser.query.filter_by(telephone=telephone).first()
            if user and user.check_password(password):
                session[config.FRONT_USER_ID] = user.id
                if remember:
                    session.permanent = True
                return restful.success()
            else:
                return restful.params_error(message='手机号或密码错误')
        else:
            return restful.params_error(message=form.get_error())

(4)front_signin.js

代码语言:javascript
复制
/**
 * Created by Administrator on 2018/6/9.
 */
$(function(){
    $('#submit-btn').on('click',function(event){
        event.preventDefault();
        var telephone_input=$('input[name=telephone]');
        var password_input=$('input[name=password]');
        var remember_input=$('input[name=remember]');
        var telephone=telephone_input.val();
        var password=password_input.val();
        var remember=remember_input.checked?1:0;

        zlajax.post({
           'url':'/signin/',
           'data':{
               'telephone':telephone,
               'password':password,
               'remember':remember
           },
            '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.alertInfo(data['message']);
               }
            }
        });

    });
});

(5)signin.html

代码语言:javascript
复制
 <script src="{{ static('front/js/front_signin.js') }}"></script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 16.登录功能完成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档