Django电商项目(四)用户注册-前端逻辑的实现

上次我们完成了用户注册表单验证,这次我们完成注册页面前端逻辑实现
前端用户登录js

let vm = new Vue({
    el: '#app',
    delimiters: ['[[', ']]'],
    data: {
        // v-model
        username: '',
        password: '',
        password2: '',
        mobile: '',
        allow: '',

        // v-show
        error_name: false,
        error_password: false,
        error_password2: false,
        error_mobile: false,
        error_allow: false,
        // err_message
        error_name_message: ""

    },
    methods: {
        // 校验用户名
        check_username() {
            re = /^[a-zA-Z0-9_-]{5,20}$/;
            if (re.test(this.username)) {
                this.error_name = false;
            } else {
                this.error_name_message = '请输入5-20个字符用户名';
                this.error_name = true;
            }
        },
        // 校验密码
        check_password() {

        },
        check_password2() {

        },
        check_mobile() {

        },
        check_allow() {

        },
        on_submit() {
            this.check_username();
            this.check_password();
            this.check_password2();
            this.check_mobile();
            this.check_allow();
            if (this.error_name == true||this.error_mobile==true||this.error_password==true||this.error_password2==true||this.error_allow==true) {
                //    禁用表单提交时间
                window.event.returnValue = false;
            }
        }
    }
});

登录页面视图

from django.shortcuts import render, redirect, reverse
from django.views import View
from django import http
from .forms import RegisterForm
from users.models import User


class RegisterView(View):

    def get(self, request):
        """提供用户注册页面"""
        return render(request, 'register.html')

    def post(self, request):
        """提供用户注册逻辑"""
        # 校验参数
        register_form = RegisterForm(request.POST)

        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            password = register_form.cleaned_data.get('password')
            mobile = register_form.cleaned_data.get('mobile')

            # 保存到数据库中
            try:
                User.objects.create_user(username=username, password=password, mobile=mobile)
            except Exception as e:
                return render(request, 'register.html', {'register_errmsg': '注册失败'})
            # 状态保持

            # 响应结果
            return redirect(reverse('contents:index'))
        else:
            context = {
                'forms_errors': register_form.errors
            }
        return render(request, 'register.html', context=context)

建立contents文件夹,完成前端页面的渲染

from django.shortcuts import render
from django.views import View


class IndexView(View):

    def get(self, request):
        return render(request, 'index.html')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哥哥的梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值