潭州课堂25班:Ph201805201 tornado 项目 第一课 项目介绍和创建 (课堂笔记)
tornado 相关说明
,
查找 python3 的路径:
binbin@abc:~$ which python3
/usr/bin/python3

创建虚拟环境 :

创建工程;
用 pycharm 连接:找到这个解释器


设置一下服务顺文件存放目录:



运行 hello world
# -*- coding: utf-8 -*-
# 斌彬电脑
# @Time : 2019/2/19 0019 下午 1:22 import tornado.ioloop
import tornado.web class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write('Hello,world') def make_app():
return tornado.web.Application({
(r'/', MainHandler),
}) if __name__ == '__main__':
app = make_app()
app.listen(8001)
tornado.ioloop.IOLoop.current().start()

保存,自动重启
# -*- coding: utf-8 -*-
# 斌彬电脑
# @Time : 2019/2/19 0019 下午 1:22 import tornado.ioloop
import tornado.web
import tornado.options
from tornado.options import define,options define('port', default='8001', help='Linstening port', type=int) class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write('Hello,world') # 重写 Application
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r'/', MainHandler),
]
settings = dict(
debug = True
)
# 继承父类
super().__init__(handlers, **settings) application = Application() if __name__ == '__main__':
tornado.options.parse_command_line() # 处理端口
application.listen(options.port)
print(options.port)
tornado.ioloop.IOLoop.current().start()
创建三个页面,放在 模板文件下
在模板下创建 base 模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}Tonato title{% end %} </title>
</head>
<body>
{% block content %}Body of base{% end %}
</body>
</html>
模板文件下创建三个 html 文件,继承 base.html

{% extends 'base.html' %}
{% block title %}PostHandler{% end %}
{% block content %}
<h3>单个图片详情页面,第{{ post_id }}页</h3>
{% end %}
{% extends 'base.html' %}
{% block title %}ExploreHandler{% end %}
{% block content %}
<h3>发现或最近上传的图片页面</h3>
{% end %}
{% extends 'base.html' %}
{% block title %}index{% end %}
{% block content %}
<h3>这是首页</h3>
{% end %}
app.py 文件
# -*- coding: utf-8 -*-
# 斌彬电脑
# @Time : 2019/2/19 0019 下午 1:22 import tornado.ioloop
import tornado.web
import tornado.options
from tornado.options import define,options define('port', default='8001', help='Linstening port', type=int) # 第一个页面
class indexHandler(tornado.web.RequestHandler):
'''
首页,所关注的用户图片流
'''
def get(self):
self.render('index.html') # 第二个页面
class ExploreHandler(tornado.web.RequestHandler):
'''
发现或最近上传的图片页面
'''
def get(self):
self.render('explore.html') # 第三个页面
class PostHandler(tornado.web.RequestHandler):
'''
单个图片详情页面
'''
def get(self, post_id):
# 用正则匹配到的 post _id 传到模板里
self.render('post_2.html', post_id=post_id) # 重写 Application
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r'/', indexHandler),
(r'/explore', ExploreHandler),
# 正则匹配用户输入,0-9 的任意数字,一个或多个
(r'/post/(?P<post_id>[0-9]+)', PostHandler),
]
# 配置
settings = dict(
debug = True,
template_path = 'templates', # 模板文件
)
super().__init__(handlers, **settings) application = Application() if __name__ == '__main__':
tornado.options.parse_command_line() # 处理端口
application.listen(options.port)
print(options.port)
tornado.ioloop.IOLoop.current().start()
潭州课堂25班:Ph201805201 tornado 项目 第一课 项目介绍和创建 (课堂笔记)的更多相关文章
- 潭州课堂25班:Ph201805201 tornado 项目 第五课 增加用户系统-用户中心(课堂笔记)
tornado 相关说明 在 users 表中创建记录,做测试 在项目根目录下创建 test.py # -*- coding: utf-8 -*- # 斌彬电脑 # @Time : 2019/2/27 ...
- 潭州课堂25班:Ph201805201 django 项目 第三课 码云注册,django项目 (课堂笔记)
d码云注册,登录, 创建项目: 生成秘钥 想看秘钥: 添加公钥 复制 ssh 连接 通过 git clone <ssh> 连接 在服务器上创建 python3 虚拟环境, 创建项目 p ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第四课 登录注册 (课堂笔记)
index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第三课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)
类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类 ...
- 潭州课堂25班:Ph201805201 tornado 项目 第十二课 项目部署(课堂笔记)
运行多个Tornado实例 网页响应不是特别的计算密集型处理 多个实例充分利用 CPU 多端口怎么处理 Linux 常见应用服务配置模式 nginx 和 supervisord:采用主配置文件 + 项 ...
- 潭州课堂25班:Ph201805201 tornado 项目 第八课 增加喜欢功能(课堂笔记)
tornado 相关说明 新增一个页面,用来做图片收藏, 还要在 account.py 创建一个数据库表,记录用户喜欢的图片,哪些图片用户疯狂传奇 cd 到 项目目录下,执行数据库更新 alembic ...
随机推荐
- asp.net core WebApi 返回 HttpResponseMessage
ASP.NET WebApi 2 中的示例代码: [Route("values/{id}")] public async Task<HttpResponseMessage&g ...
- 微信小程序如何自动弹出提示微信授权?
我想在一进入页面的时候就进行判断提示并且弹出提示授权!请问该如何处理比较合理 wx.authorize({}) //可以通过 wx.getSetting 先查询一下用户是否授权了 "scop ...
- webpack学习笔记--配置plugins
Plugin Plugin 用于扩展 Webpack 功能,各种各样的 Plugin 几乎让 Webpack 可以做任何构建相关的事情. 配置 Plugin Plugin 的配置很简单, plugi ...
- webpack学习笔记--配置resolve
Resolve Webpack 在启动后会从配置的入口模块出发找出所有依赖的模块,Resolve 配置 Webpack 如何寻找模块所对应的文件. Webpack 内置 JavaScript 模块化语 ...
- 无法创建链接服务器 "ORCL" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例 (错误:7302)
原文:https://www.cnblogs.com/tiger2soft/p/6954308.html 在sqlserver中创建oracle的链接服务器时,提示此错误. 按照网上的方案,先后使用了 ...
- Spring MVC 注解
概述 Spring MVC是一个采用依赖注入的思想编写.对象的依赖注入Bean的方式可以通过Spring XML里面配置,配置之后的Bean使用时候,无需使用New关键字建立对象.但是如果所有的B ...
- Understanding about numerical stability, convergence and consistency
In a computer simulation of the real world, physical quantities, which usually have continuous distr ...
- python全栈开发day65-templates:tags、母版和继承、组件、静态文件相关、simple_tag和inclusion_tag
一.昨日内容回顾 1.MVC和MTV框架 MVC: model 模型 存写数据 view 视图 给用户展示页面 control 控制器 负责调度 传递指令 MTV: M:model 模型 OR ...
- Javascript转义字符串中的特殊字符处理
Web应用系统中,客户端发送请求到服务器,请求中的字符串参数,在被序列化成json过程中有些特殊字符会被空格代, 导致传递到服务器端再解析的时候,原本的输入参数就会被改变. 目前遇到的特殊字符有加号( ...
- seafile+glusterfs 安装部署
今天在虚拟机上搭一下seafile,用于测试环境.此处安装的是社区免费版本的,可以使用一键自动安装(MySQL适用). 官方文档:https://manual-cn.seafile.com/ 1.一键 ...