tornado+bootstrap急速搭建你自己的网站

news/2024/5/19 8:25:12/文章来源:https://blog.csdn.net/weixin_34176694/article/details/90620656

bootstrap既然是这么的流行又能省很多的事为什么不用他呢?再加上牛X的produced by FB的tornado简直如虎添翼了!

1. 安装配置

安装所需要的库等内容。这里没什么需要多讲的。tornado直接用easy_install或者pip。bootstrap直接下下来就OK了。当然还需要下载bootstrap依赖的jquery。依次下载安装就可以。

2. 目录结构

把bootstrap目录下得内容分别都放在static目录下得css、fonts和js中。jquery对应的js也放在static目录下得js目录中。

templates目录放置html文件,可以看到高亮出来的一个index.html文件。

3. tornado代码

复制代码
import logging
import tornado.auth
import tornado.escape
import tornado.ioloop
import tornado.web
import os.path
import uuidfrom tornado.concurrent import Future
from tornado import gen
from tornado.options import define, options, parse_command_linedefine("port", default=8888, help="run on the given port", type=int)
define("debug", default=False, help="run in debug mode")class BaseHandler(tornado.web.RequestHandler):def get_current_user(self):user_json = self.get_secure_cookie("chatdemo_user")if not user_json: return Nonereturn tornado.escape.json_decode(user_json)class MainHandler(BaseHandler):@tornado.web.authenticateddef get(self):self.render("index.html", messages=global_message_buffer.cache)def main():parse_command_line()app = tornado.web.Application([(r"/", MainHandler),],cookie_secret="__TODO:_GENERATE_YOUR_OWN_RANDOM_VALUE_HERE__",template_path=os.path.join(os.path.dirname(__file__), "templates"),static_path=os.path.join(os.path.dirname(__file__), "static"),xsrf_cookies=True,debug=options.debug,)app.listen(options.port)tornado.ioloop.IOLoop.instance().start()if __name__ == "__main__":main()
复制代码

define定义了站点的port。

class BaseHandler(tornado.web.RequestHandler)定义了一个基类,用于简单封装tornado的RequestHandler。以后的每个类都需要集成这个BaseHandler,比如后面的MainHandler。这样才能获得http请求。

最后在(r"/", MainHandler),绑定了请求的url和对应的handler。这时还不能运行,因为我们需要在MainHandler中解析模板html。

4. Html模板

这里的index.htm模板是直接从bootstrap上得例子中扒下来的。

复制代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Bootstrap 101 Template</title><!-- Bootstrap --><link href="{{static_url("css/bootstrap.min.css")}}" rel="stylesheet"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --><!-- WARNING: Respond.js doesn't work if you view the page via file:// --><!--[if lt IE 9]><script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script><script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><![endif]--></head><body><nav class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">Project name</a></div><div id="navbar" class="collapse navbar-collapse"><ul class="nav navbar-nav"><li class="active"><a href="#">Home</a></li><li><a href="#about">About</a></li><li><a href="#contact">Contact</a></li></ul></div><!--/.nav-collapse --></div></nav><div class="container"><div class="starter-template"><h1>Bootstrap starter template</h1><p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p></div></div><!-- /.container --><!-- jQuery (necessary for Bootstrap's JavaScript plugins) --><script src="{{static_url("js/jquery-1.11.2.min.js")}}"></script><!-- Include all compiled plugins (below), or include individual files as needed --><script src="{{static_url("js/bootstrap.min.js")}}"></script></body>
</html>
复制代码

其中的css、js都放在我们上面的目录机构中的static目录下。所以在原来模板中的这些内容都需要做一些修改:<link href="{{static_url("css/bootstrap.min.css")}}" rel="stylesheet"><script src="{{static_url("js/jquery-1.11.2.min.js")}}"></script>还有<script src="{{static_url("js/bootstrap.min.js")}}"></script>。都通过了static_url这个内置方法实现了路径的跳转。

如果你不想这么设置路径也可以,但是这些css和js之类的还是需要放在static目录下。放在别的地方的话,可能是获取不到静态的内容。

这个时候运行代码你就会看到这个网页了。

好吧,这个时候似乎还是有些问题的。但是大体的结构就是这样了!

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781926.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站前端_Bootstrap.基础入门.0001.模版标准/样式标准/脚本标准入门?

简单介绍:1. Bootstrap于2010年Twitter开源将常见的CSS布局小组件和JS插件进行了封装,大大规范且提高了代码质量及开发效率.2. Bootstrap包含完整的基础CSS插件,丰富的预定义样式表,基于JQuery的JS插件集,非常灵活的响应式删栏系统,支持跨平台,且完全支持自定义.注意: Bootstra…

IT老鸟带你解决银行招标网站[金采网]无法注册供应商问题

目录 一、金采网介绍 二、背景及问题 三、分析思路 四、解决办法 五、扩展解决思路 六、最后感想 一、金采网介绍 金采网(http://www.cfcpn.com)是中国金融学会金融采购专业委员会对外的工作平台&#xff0c;是国内唯一的、专业服务金融行业采购业务的权威网站平台。 金…

QA小课堂:一个网站或者APP开发要多少钱

经常遇到朋友问我&#xff1a;“开发一个京东商城需要多少钱&#xff1f;开发一个滴滴打车需要多少钱&#xff1f;”类似这样的需求&#xff0c;就连我这样一名伪开发者都不愿意去骗客户或者朋友&#xff0c;因为这种问题是很难回答出来的。为什么这么说呢&#xff1f;要知道类…

selenium测试https网站

为什么80%的码农都做不了架构师&#xff1f;>>> 当访问一个https的网站&#xff0c;通常浏览器会收到一份证书&#xff0c;该证书包含了服务器的公钥以及CA的签名 服务器的公钥 服务器一般会生成一对密钥&#xff0c;公钥和私钥 服务器把公钥放在证书中请求CA的签名…

给你的网站添加支付宝即时到帐按钮

前言 大家都知道PayPal有一个非常使用的「一键转账」功能&#xff0c;但是自从支付宝的个人收款主页停止服务后&#xff0c;支付宝已经无法实现该功能了&#xff0c;那有我天朝人民想不到的办法呢&#xff1f;今天博猪就来教大家使用一个极其简单的 form 标签经过 POST 可以一键…

网站安全狗IIS版、服务器安全狗Windows版

2019独角兽企业重金招聘Python工程师标准>>> 2016年11月2日&#xff0c;云安全服务与解决方案提供商安全狗升级发布网站安全狗Windows_IIS版本&#xff0c;版本号为 V4.0.15716正式版&#xff0c;该版本优化了多个功能服务&#xff0c;目前安全狗官网http://www.saf…

hexo的next主题个性化教程:打造炫酷网站

注意下面那些图床失效了&#xff0c;可以在这里看http://shenzekun.cn/hexo%E7%9A%84next%E4%B8%BB%E9%A2%98%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B.html 看到有些next主题的网站很炫酷&#xff0c;那么是怎么配置的呢&#xff1f;接下来我会讲一讲…

《网站设计 开发 维护 推广 从入门到精通》——1.2 网页美工常用工具

本节书摘来自异步社区《网站设计 开发 维护 推广 从入门到精通》一书中的第1章&#xff0c;第1.2节&#xff0c;作者&#xff1a; 何新起 , 娄彦杰 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.2 网页美工常用工具 制作网页第一件事就是要选定网页制作软件。虽然…

LVS(负载均衡)+keepalived(HA)+Nginx(反向代理)+Web(动静态网站服务器)

考虑到LVS和Nginx的缺点&#xff08;由于LVS采用的是同步请求转发策略而Nginx采用的是异步转发策略&#xff0c;结合两者的缺点:作为负载均衡服务器的Nginx和LVS处理相同的请求时&#xff0c;所有的请求和响应流量都会经过Nginx服务器&#xff0c;但是使用LVS时&#xff0c;仅请…

快播CEO认罪,成人网站对技术的要求有多高?

快播涉传播淫秽物品案昨日在海淀法院开庭审理。快播公司、王欣、张克东、牛文举均表示认罪悔罪。吴铭表示快播公司犯罪成立。 庭前法院委托鉴定机关&#xff0c;对涉案的四台缓存服务器的硬盘数据是否受到改写污染问题进行了鉴定。鉴定结论是&#xff1a;未发现硬盘中的视频文件…

收录高的网站关键词一定要这么布局

随着互联网的高速发展&#xff0c;网站几乎成了每一家企业后者公司不可缺少的一部分&#xff0c;网站也成了公司或者企业的第二个基地——线上展示。这个在网站建设的时候需要先给网站定位好&#xff0c;因为需要提前做好关键词的布局准备&#xff0c;虽然行业千千万&#xff0…

提供在线linux的网站,谁能提供一个在线免费学习Linux的网站?

楼主发表于:2008-04-21 19:46:20求一个可以在线学习LINUX 并且可以在线练习很多常用命令的网站 就是不用装linux 也可以练习linux的网站 谢谢。 对我有用[0]丢个板砖[0]引用举报管理TOP 回复次数:8 fox000002(糊糊。。楼主发表于:2008-04-21 19:46:20求一个可以在线学习LINUX 并…

为hexo 网站加上live2d看板娘

为网站加上live2d看板娘hexo-helper-live2d看板娘终极进化&#xff0c;可换装hexo-helper-live2d 下载hexo-helper-live2d github地址 这是官网效果 好了虽然上面已经给出官网地址 但是还是给你讲解一下 打开dos命令 切换到你博客目录执行 npm install --save hexo-helper-…

为你网站添加上评论系统

为你网站添加上评论系统想想你看过next后你会发现hexo有很多评论系统1.多说 2.网易云跟帖 3.畅言 4.来必力&#xff08;LiveRe&#xff09; 5.Disqus 6.Hypercomments 7.valine 等等等~~~~~~很多 但是我都看了一遍都贼麻烦只有这一个比较简单 首先开启valine 打开next的配置文件…

hexo网站使用next主题

hexo网站使用next主题网站使用next主题准备网站使用next主题 上一篇我记录了怎么使用hexonext搭建GitHub的个人网站&#xff0c;飞机票 准备 首先我们要下载安装next 如何下载这里给两个方法&#xff0c;https://github.com/iissnan/hexo-theme-next这个github地址进去之后直…

网站地图(站点地图)详细介绍以及如何制作

原文链接 什么是网站地图 网站地图&#xff0c;又叫站点地图&#xff0c;它就是一个列出了你网站上所有页面地址的清单文件&#xff0c;一般来说分为2种&#xff0c;一种是给搜索引擎看的&#xff0c;一种是给用户看的&#xff0c;前者帮助搜索引擎更好地收录你的网站&#xff…

docker-compose管理Hexo急速建站-Hexo建站(二)

上回介绍了如何在 Linux 服务器上急速建站 本节主要介绍使用 docker 作为容器 docker-compose 进行容器编排达到快速建站的目的. 以下是这套建站方案带来的其它优点: docker 容器优秀的隔离性, 能让我们的服务器环境更加整洁docker-compose 方便在服务器迁移、硬盘损坏等意外情…

nginx 代理 hexo 及域名配置-Hexo建站(三)

先前我们将 Hexo 通过 docker-compose 成功将 hexo 部署进了我们的服务器, 拥有域名的同学一定不希望他人在访问 Hexo 时还使用http://<host>:4000这种形式. 这一节, 主要演示使用阿里云控制台购买的域名并配置 nginx 代理实现域名访问 Hexo Blog 的实战 安装条件 生产环…

Hexo 安装 Next 主题-Hexo建站(四)

安装条件 生产环境(Linux服务器): hexo 未安装 hexo 的同学可以参考前两节的内容. 将 hexo 部署起来 安装步骤 注意: 以下工作空间根目录为 Linux 服务器 hexo 安装路径根目录 下载 Next 主题 这里我选择的是最后一次发布的主线版本. cd <your_hexo_path> mkdir t…

大型网站的 HTTPS 实践(四)——协议层以外的实践

详见&#xff1a;http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt390 1 前言 网上介绍 https 的文章并不多&#xff0c;更鲜有分享在大型互联网站点部署 https 的实践经验&#xff0c;我们在考虑部署 https 时也有重重的疑惑。 本文为大家介绍百度 HTTPS 的实践和…