zoukankan      html  css  js  c++  java
  • django-使用类视图

    视图函数views.py中

    from django.shortcuts import render, redirect
    from django.http import HttpResponse, JsonResponse
    from django.core.urlresolvers import reverse  # 反响解析
    from django.views.generic import View  # 导入类试图
    import re
    from user.models import *
    # Create your views here.
    
    class RegisterView(View):
        '''注册'''
        def get(self, request):
            '''显示注册页面'''
            return render(request, 'register.html')
    
        def post(self, request):
            '''进行注册处理'''
            # 接受数据
            username = request.POST.get('user_name')
            password = request.POST.get('pwd')
            email = request.POST.get('email')
            allow = request.POST.get('allow')
            # 校验
            # 数据完整度
            if not all([username, password, email]):
                return render(request, 'register.html', {'errmsg': '数据不完整'})
            # 邮箱验证
            if not re.match(r'^[A-Za-z0-9u4e00-u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$', email):
                return render(request, 'register.html', {'errmsg': '邮箱格式不正确'})
            # 校验协议
            if allow != 'on':
                return render(request, 'register.html', {'errmsg': '请同意协议'})
            # 校验用户是否存在
            try:
                user = User.objects.get(username=username)
            except Exception as e:
                user = None
            if user:
                # 用户已存在
                return render(request, 'register.html', {'errmsg': '用户名已存在'})
    
            # 进行用户注册
            # create_user() 注册用户
            user = User.objects.create_user(username, email, password)
            user.is_active = 0  # 0为未激活状态
            user.save()
    
            return redirect(reverse('goods:index'))

    路由中一样也要重新配置

    urls.py中

    from django.conf.urls import url
    from user.views import RegisterView  # 导入视图类
    
    urlpatterns = [
        # url(r'^register$', views.register, name='register'),
        # url(r'^register_handle$', views.register_handle, name='register_handle'),
        # url(r'^login$', views.login, name='login'),
    
        url(r'register', RegisterView.as_view(), name='register'),
    
    ]
  • 相关阅读:
    [学习记录]Flask会话维护
    [学习记录]MarkDown语法
    [学习记录]jinja2模板语法
    [学习记录]flask资源加载
    [学习记录]flask初步
    [常用操作]使用github桌面版上传代码
    [学习记录]简明扼要的Sass
    接口Mock测试
    12 | 从0到1:你的第一个GUI自动化测试
    navicat导出DDL语句
  • 原文地址:https://www.cnblogs.com/yifengs/p/11579508.html
Copyright © 2011-2022 走看看