#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tornado.ioloop
import tornado.web
import re
class MainForm(object):
    def __init__(self):
        self.host = "(.*)"
        self.ip = "^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$"
        self.port = '(\d+)'
        self.phone = '^1[3|4|5|8][0-9]\d{8}$'



    def check_valid(self,handle):
        flag = True
        value_dict = {}
        for key,regular in self.__dict__.items():
            input_value = handle.get_argument(key)
            val = re.match(regular, input_value)
            print(key, input_value, val, regular)
            if not val:
                flag = False
            value_dict[key] = input_value
        return  flag, value_dict

class IndexHandler(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        self.render('index.html')


    def post(self, *args, **kwargs):
        obj = MainForm()


        is_valid, value_dict = obj.check_valid(self)
        print(is_valid)

        if is_valid:
            print(value_dict)

settings = {
    'template_path': 'views',
    'static_path': 'statics',
    # 'static_url_prefix':'/statics/',
    # 'xsrf_cookies':True
}

application = tornado.web.Application([
    (r"/index", IndexHandler),
    # (r"/checkout", CheckoutHandler),

], **settings)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
优化前form.py

相关文章: