示例#1
0
    def setUp(self):
        # create a WSGI application.
        app = webapp2.WSGIApplication(config=config.webapp2_config)
        routes.add_routes(app)
        self.testapp = webtest.TestApp(
            app, extra_environ={'REMOTE_ADDR': '127.0.0.1'})

        # activate GAE stubs
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()
        self.testbed.init_urlfetch_stub()

        # some shortcuts
        self.cookie_name = config.webapp2_config['webapp2_extras.auth'][
            'cookie_name']
        self.headers = {'User-Agent': 'Safari', 'Accept-Language': 'en_US'}

        # register test account
        self.testapp.post('/register/',
                          forms.RegisterForm(username='******',
                                             password='******',
                                             c_password='******',
                                             email='*****@*****.**',
                                             country='').data,
                          headers=self.headers)

        # is test account created?
        users = models.User.query().fetch(2)
        self.assertEqual(1, len(users), 'testuser could not register')
        self.user = users[0]

        # clear cookies
        self.testapp.reset()
示例#2
0
def register1(request):
    """
    注册
    :param request:
    :return:
    """
    ret = {"status": False, "error": None, "data": None}
    if request.method == "GET":
        register_obj = forms.RegisterForm()
        return render(request, 'register.html', {"register_obj": register_obj})
    elif request.method == "POST":
        register_obj = forms.RegisterForm(request.POST)
        if register_obj.is_valid():
            ret["status"] = True
            ret["data"] = register_obj.cleaned_data
        else:
            ret["error"] = register_obj.errors.as_data()
            # print(type(register_obj.errors.as_json()))
            # print(type(register_obj.errors.as_data()))
        result = json.dumps(ret, cls=JsonCunstomEncode)
        #不能使用render,使用render返回数据,前端var data1=JSON.parse(arg)转换报错。可以使用HttpResponse直接返回数据
        #return render(request, 'register.html',{"result":result})
        return HttpResponse(result)
示例#3
0
def register(request):
    """
    注册
    :param request:
    :return:
    """
    ret = {"status": False, "error": None, "data": None}
    if request.method == "GET":
        register_obj = forms.RegisterForm()
        return render(request, 'register.html', {"register_obj": register_obj})
    elif request.method == "POST":
        register_obj = forms.RegisterForm(request.POST)
        if register_obj.is_valid():
            reverse_url = reverse("register")
            if request.session['CheckCode'].lower() == request.POST.get(
                    'check_code').lower():

                username = register_obj.cleaned_data.get("username")
                email = register_obj.cleaned_data.get("email")
                password = register_obj.cleaned_data.get("password")
                user_obj = models.UserInfo.objects.create(username=username,
                                                          email=email,
                                                          password=password)
                if user_obj:
                    request.session.clear()
                    request.session["username"] = username
                    request.session["is_login"] = True
                    ret["status"] = True
                    ret["data"] = register_obj.cleaned_data
                    #成功js跳转到base_info.html
        else:
            ret["error"] = register_obj.errors.as_json()
        result = json.dumps(ret)
        #不能使用render,使用render返回数据,前端var data1=JSON.parse(arg)转换报错。可以使用HttpResponse直接返回数据
        #return render(request, 'register.html',{"result":result})
        return HttpResponse(result)
示例#4
0
 def form(self):
     if self.is_mobile:
         return forms.RegisterMobileForm(self)
     else:
         return forms.RegisterForm(self)
示例#5
0
 def form(self):
     return forms.RegisterForm(self)
示例#6
0
 def form(self):
     if self.is_mobile:
         return forms.RegisterMobileForm(self.request.POST)
     else:
         return forms.RegisterForm(self.request.POST)