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()
application

 

#!/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'
}
config
#!/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),
]
Urls

 

posted @ 2016-09-14 17:17  若时光搁浅  阅读(134)  评论(0)    收藏  举报