项目模块基本架构如下:

  

-------------application.py
import tornado.web

from views import index, login
import config class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r"/", index.IndexHandler),
(r"/sunck", index.SunckHandler, {"word1": "good", "word2": "nice"}),
(r"/login", login.LoginHandler),
(r"/json", index.JsonHandler),
(r"/json2", index.JsonsHandler) ] super(Application, self).__init__(handlers, **config.settings)
print(config.settings)
# super(Application, self).__init__(handlers, autoreload=True)

-------------config.py
import os

# 获取当前目录下的根目录
BASE_DIR = os.path.dirname(__file__) # 参数
options = {
"port": 8000, } IMAGES_PATH = "./image/test"
# 配置
settings = { "static_path": os.path.join(BASE_DIR, "static"),
"template_path": os.path.join(BASE_DIR, "templates"), # debug为True是调试模式,如果为False的是生产模式 和Django这点相同
"debug": True, # 为True的特性:
# 取消缓存编译的模板 compiled_template_cache = False
# 取消缓存静态文件的hash值 static_hash_cache = False
# 提供追踪信息 serve_traceback = True
# 自动重启 autoreload=True # self.redirect 重定向
# self.send_error(state_code=500)
# self.write_error(state_code=500)
# self.reverse_url() 反向解析 # tornado.web.RequestHandler
# 利用http协议向服务端传递参数
# 提取url特定参数,get/post传递参数,既可以获取get请求也可以获取post请求,在http的报文头中增加自定义的参数
# self.get_query_argument() 获取get请求时url中的参数
# self.get_query_arguments() 获取get请求时url中的参数两个以上同名的返回值为一个list
# request对象
# tornado.httputil.HTTPFile对象
} print("当前的根目录为")
print(BASE_DIR)
print("当前静态文件存储路径为")
print(settings["static_path"])
print("当前模板文件的存储路径为")
print(settings["template_path"])

-------------server.py
import tornado.web

import tornado.ioloop
import tornado.httpserver import config
from views import index
from application import Application app = Application() if __name__ == '__main__':
# 创建服务
# app.listen(8080)
# app.listen(config.options['port']) # 自己创建一个服务
httpServer = tornado.httpserver.HTTPServer(app)
# 给该服务绑定一个端口
httpServer.bind(config.options['port'])
# 开启一个进程
httpServer.start(1)
# 启动服务,并监听
tornado.ioloop.IOLoop.current().start()

tornado项目工程的更多相关文章

  1. 货架工程项目之js dom实现项目工程进度图

    笔者最近要负责有个项目工程网站的安装进度过程,实现的效果要求大概如下图所示 由于笔者没有参与到数据库的制作,得知他们这个项目设计工序的时候就一个开始日期的和完成日期,连整个项目的安装结束时间都没有简直 ...

  2. iOS适配 旧项目工程在iOS9下不能正常显示

    在iOS开发中,很多时候会用到旧项目,比如版本的升级.使用Demo等等, iOS SDK正在不断的升级,不断的升级给iOS开发带来了新的活力. 然而在iOS SDK新的版本出来之后,旧项目可能会出现新 ...

  3. inotify监控目录变化重启服务器tornado项目

    pycharm 配置了提交服务器项目每次pycharm修改后,虽然保存到服务器但是项目还得自己去服务器kill再启动.就花几分钟写了shell脚本用于监控项目目录变化并重启tornado项目的脚本 如 ...

  4. 关于PowerBuilder 9.0中如何修改项目工程名字

    关于PowerBuilder 9.0中如何修改项目工程名字,首先要找到三个文件,xxx.pbl.xxx.pbt.xxx.pbw这三个文件,为何要找这个三号个文件呢? 因为在使用PowerBuilder ...

  5. tornado项目

    tornado项目之基于领域驱动模型架构设计的京东用户管理后台 本博文将一步步揭秘京东等大型网站的领域驱动模型,致力于让读者完全掌握这种网络架构中的“高富帅”. 一.预备知识: 1.接口: pytho ...

  6. paip.c++ qt 项目工程互相引用的方法

    paip.c++ qt 项目工程互相引用的方法 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/ ...

  7. 在OC项目工程中混编Swift

    1.创建一个OC项目工程,然后在Build Settings中找到如下字段,修改. 2.然后在项目中创建swift文件,如果系统提示是否需要创建桥接文件的时候,点击确定. 然后在Build Setti ...

  8. 【Android Developers Training】 1. 创建一个Android项目工程

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  9. Centos7部署tornado项目

    今天帮一个学生解决tornado的部署问题,在此记录了这其中的过程,其中的tornado项目更换为demo示例. 开发环境: 本地开发环境:Win10 + Python3.5.4 + PyCharm ...

随机推荐

  1. node.js使用markdown-it批量转md内容为html

    代码如下: var fs = require('fs'); var MarkdownIt = require('markdown-it'), md = new MarkdownIt(); /* pag ...

  2. [LeetCode] 138. Copy List with Random Pointer 拷贝带随机指针的链表

    A linked list is given such that each node contains an additional random pointer which could point t ...

  3. [LeetCode] 171. Excel Sheet Column Number 求Excel表列序号

    Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...

  4. 西门子PLC1200内使用SCL实现简化版PID算法

    西门子自带的PID效果很好,但是会比较吃性能,使用次数有限,很多地方需要PID但不需要这么精准的PID,所以网上找个简单的算法自己调用. 新建数据类型 前三个就是PID三个参数 新建FC块: #PID ...

  5. VS2010 C#添加水晶报表及设计

    添加并设计水晶报表. [1]在VS中添加水晶报表 右击项目-->添加-->组件-->Crystal Report,输入文件名称“CrystallistReport”,如下图所示: 此 ...

  6. LeetCode 290. 单词规律(Word Pattern) 41

    290. 单词规律 290. Word Pattern 题目描述 给定一种规律 pattern 和一个字符串 str,判断 str 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如,pattern ...

  7. LeetCode 75. 颜色分类(Sort Colors) 30

    75. 颜色分类 75. Sort Colors 题目描述 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中, ...

  8. Python规范:用用assert

    什么是assert assert的语法: assert_stmt ::= "assert" expression ["," expression] 例: ass ...

  9. Linux组管理、用户管理、查看用户信息、usermod、which、切换用户、修改文件具体权限

    组管理 提示:创建组/删除组的终端命令都需要通过sudo执行 序号 命令 作用 01 groupadd组名 添加组 02 groupdel组名 删除组 03 cat/etc/group 确认组信息 0 ...

  10. fastjson转换对象时出错,"$ref": "$.data.list[0].xxxx"

    出现$ref: "$.list[2]"的原因是因为循环引用/内存对象重复. $ref”:”..” 上一级“$ref”:”@” 当前对象,也就是自引用“$ref”:”$” 根对象{& ...