pythontonado框架簡單應用
在上一篇中我們瞭解了建起tonado的服務,為了方便我們更好的使用這裡建議大家仿照django框架去構建。
首先建立static放置靜態檔案如js,jquery等
建立templates檔案放入html
建立upfile檔案放置上傳檔案
建立views檔案我們在這個檔案下寫檢視
建立server.py
import tornado.web
import tornado.ioloop
import tornado.httpserver
import config #這裡是配置檔案
from application import Application #這裡是建立的路由配置器
if __name__ == "__main__":
app=Application()
# application.listen(8888)
httpServer=tornado.httpserver.HTTPServer(app)
# httpServer.listen(8000)
httpServer.bind(config.options["port"])
httpServer.start()
tornado.ioloop.IOLoop.instance().start()
這裡就把服務跟設計程式碼分離開了,我們就可以愉快的玩耍了
建立config這裡面配置檔案。
import os
BASE_DIRS=os.path.dirname(__file__)
#引數
options={
"port":7001,
}
#配置tornoto的靜態檔案路徑
settings={
`debug`:True,
`static_path`:os.path.join(BASE_DIRS,"static"),
`template_path`:os.path.join(BASE_DIRS,`templates`)
}
接下來就構建appliccation
import tornado.web
import views.index
import config
class Application(tornado.web.Application):
def __init__(self):
handlers=[
(r`/`,views.index.IndexHandler),
(r`/json1`,views.index.json1),
(r`/redirect`,views.index.RedirectHandler),
(r`/Errorstack`,views.index.Errorindex),
tornado.web.url(r`/wenge`,views.index.wenge,{`word3`:`h1`,`word4`:`h2`},name=`wengegood`),
(r`/zgr/(w+)/(w+)/(w+)`,views.index.zgr),
(r`/postfile`,views.index.PostFileHandler)
]#這個裡面是路由,根據自己的實際情況來
super(Application,self).__init__(handlers,**config.settings)#繼承到
server.py的Aplication
接下來就在views中構建簡單的檢視玩耍吧
import tornado.web
from tornado.web import RequestHandler
#name找到所在路由
class IndexHandler(RequestHandler):
def get(self,*args,**kwargs):
url=self.reverse_url("wengegood")
self.write("<a href=`%s`>去另外一個介面</a>"%url)
# self.write("gggggg")
#
# self.write("sunck is a good tornado")
#json格式返回介面
class json1(RequestHandler):
def get(self,*args,**kwargs):
per={
`name`:`wenwen`,
`age`:20,
`sex`:`男`
}
self.write(per)
class RedirectHandler(RequestHandler):
def get(self,*args,**kwargs):
self.redirect("/")#重定向
#自定義錯誤
class Errorindex(RequestHandler):
def write_error(self, status_code, **kwargs):
if status_code==500:
code=500
self.write(`伺服器出錯`)
if status_code==404:
code=404
self.write(`資源不存在`)
self.set_status(code)
def get(self,*args,**kwargs):
flag=self.get_query_argument("flag")
if flag==`0`:
self.send_error(404)
self.write(`hello tornoto`)
#後臺傳入引數
class wenge(RequestHandler):
def initialize(self,word3,word4):
self.word3=word3
self.word4=word4
def get(self, *args, **kwargs):
print(self.word3,self.word4)
self.write(`wenge is a nice men`)
#url傳入引數
class zgr(RequestHandler):
def get(self,a,b,c,*args, **kwargs):
print(a,b,c)
self.write(`zgr is a nice man`)
#post接收引數
class PostFileHandler(RequestHandler):
def get(self, *args, **kwargs):
a={`a`:`sdfa`}
self.render(`1.html`,a)
def post(self,*args, **kwargs):
name=self.get_body_argument(`username`)
passwd=self.get_body_argument(`passwd`)
hobbylist=self.get_body_arguments(`hobby`)
print(name,passwd,hobbylist)
self.write(`姓名%s,密碼%s,愛好%s`%(name,passwd,hobbylist))
相關文章
- thymeleaf 簡單應用
- div 簡單應用
- ajax簡單應用
- smbclient 簡單應用client
- C# 輕量級 ORM 框架 NPoco 的簡單應用C#ORM框架
- websoket的簡單應用Web
- npm的簡單應用NPM
- appfabric 簡單應用APP
- ORACLE簡單應用 (轉)Oracle
- 用原生http 實現簡單 Express 框架HTTPExpress框架
- jsp的簡單應用JS
- 快應用簡單瞭解
- MapReduce應用案例--簡單排序排序
- 遞迴的簡單應用遞迴
- rename命令的簡單應用
- Nginx 簡單應用(Windows os)NginxWindows
- scrapy框架簡介和基礎應用框架
- easypoi 讀取 Excel 簡單應用Excel
- Lucene介紹及簡單應用
- windbg sx命令與簡單應用
- pythontornodo的簡單應用1Python
- jQuary中ajax的簡單應用
- gRPC的Golang簡單應用RPCGolang
- @Autowire/@Qualifilter/@Resource的簡單應用Filter
- 3D Touch 簡單應用3D
- 並查集的簡單應用並查集
- unity 委託事件簡單應用Unity事件
- Android ExpandableListView的簡單應用AndroidView
- 簡單的線段樹應用
- Windows Installer的簡單應用Windows
- 用Python寫一個簡單的Web框架PythonWeb框架
- 01 . SaltStack部署配置及簡單應用
- Disruptor的簡單介紹與應用
- redis訊息佇列簡單應用Redis佇列
- 簡單計算器(棧的應用)
- 簡單易用的macOS音量應用程式Mac
- arguments的應用示例簡單介紹
- z-index 應用簡單總結Index