jd 大项目(二) 三级联动和eassyui
1、 datagrid发送数据时想要带参数 需要加收关键字queryParams
2、application 详解
(1)ui_module配置
ui_module全部放在公共组件Infrastructure下面,但是需要在application下进行配置
1.1、 因为ui_module肯有多个,为了根据有条理,需要将所有文件的路径放置在config里面配置,以后再增删查改只需要在配置 config就行了,不需要改动application
1.2、设定函数将ui_module 添加到setting中
def load_ui_module(settings):
module_list = []
循环配置文件中的路径
for path in Config.ui_method:
调用文件
m = __import__(path, fromlist=True)
module_list.append(m)
给传入的settings 配置
settings['ui_modules'] = module_list‘
(2)静态文件配置
将config中的settings(静态文件的配置)更新到application中的settings中去(因为都是字典,直接update就行)
settings.update(Config.settings)
(3)路由的配置
3.1 规范化,每个二级路由下的路由配置,都应该在相应去相应的UI文件夹下去配置
def load_routes(app):
for route in Config.routes:
host_pattern = route['host_pattern']#二级域名
route_path = route['route_path']#二级域名对应下urls路径
route_name = route['route_name']#二级域名对应下urls里面存放映射的名字
m = __import__(route_path, fromlist=True)#调用urls
pattern_list = getattr(m, route_name)#获取urls里面的路由映射
app.add_handlers(host_pattern, pattern_list)#添加二级域名和路由
#!/usr/bin/env python # -*- coding:utf-8 -*- import tornado.ioloop import tornado.web import Config def load_ui_module(settings): module_list = [] for path in Config.ui_method: m = __import__(path, fromlist=True) module_list.append(m) settings['ui_modules'] = module_list def load_ui_method(settings): method_list = [] for path in Config.ui_method: m = __import__(path, fromlist=True) method_list.append(m) settings['ui_methods'] = method_list def load_routes(app): for route in Config.routes: host_pattern = route['host_pattern'] route_path = route['route_path'] route_name = route['route_name'] m = __import__(route_path, fromlist=True) pattern_list = getattr(m, route_name) app.add_handlers(host_pattern, pattern_list) def load_hook(): pass def start(): settings = {} load_ui_method(settings) load_ui_module(settings) settings.update(Config.settings) application = tornado.web.Application([ #(r"/index", home.IndexHandler), ], **settings) load_routes(application) load_hook() print('http://127.0.0.1:8888') application.listen(8888) tornado.ioloop.IOLoop.instance().start() if __name__ == "__main__": start()
#!/usr/bin/env python # -*- coding:utf-8 -*- routes = ( { 'host_pattern': 'www.wupeiqi.com', 'route_path': 'UIWeb.Urls', 'route_name': 'patterns' }, { 'host_pattern': 'admin.wupeiqi.com', 'route_path': 'UIAdmin.Urls', 'route_name': 'patterns'}, { 'host_pattern': 'dealer.wupeiqi.com', 'route_path': 'UIDealer.Urls', 'route_name': 'patterns' } ) ui_method = ( 'Infrastructure.UIMethods.Null', ) ui_module = ( 'Infrastructure.UIModules.Null', ) settings = { 'template_path': 'Views', 'static_path': 'Statics', 'static_url_prefix': '/Statics/', } PY_MYSQL_CONN_DICT = { "host": '127.0.0.1', "port": 3306, "user": 'root', "passwd": '123456', "db": 'jd6', "charset": 'utf8' }
#!/usr/bin/env python # -*- coding:utf-8 -*- from .Controllers import Account from .Controllers import Home patterns = [ (r"/Login.html$", Account.LoginHandler), (r"/CheckCode.html$", Account.CheckCodeHandler), (r"/Register.html$", Account.RegisterHandler), (r"/Index.html$", Home.IndexHandler), (r"/Detail-(?P<product_id>\d+)-(?P<price_id>\d+).html$", Home.DetailHandler), (r"/Pay.html$", Home.PayHandler), (r"/", Home.IndexHandler), ]

浙公网安备 33010602011771号