Web applications 我正在用Tornado开始web开发。需要一些初学者帮助吗
很抱歉问了这么长的问题,但我很困惑,不知道我到底需要什么。所以,在发布任何内容之前,请通读整个问题,以便你能得到更好的想法 所以,我是一名软件工程合作专业的学生,在一个工作学期里,我的老板想让我用Tornado开发一个web应用程序。我在高中时做过一些html和css,但这真的超出了我的能力范围 Tornado几乎没有关于如何开始的教程。当然,有一个hello world的例子,但是他们抛出了一些聊天应用程序,在我的例子中,这些应用程序可能是用二进制编写的 我知道如何使用tornado渲染页面并将数据作为参数发送。然后,我可以使用这些数据在网页本身中执行一些逻辑(即数据库请求、循环等),我现在知道足够多的Javascript调用函数来编写文本或发出警报 现在问题出现了,我想转到我的另一个html页面。当然,我可以使用Javascript或html访问外部站点(即Google),但如果我尝试访问同一目录中的相关文档,我只会得到404。我的主管希望我调查如何使用POST和GET请求来调用Tornado Server RequestHandler(这样我就可以再次调用render),但我就是不知道如何发出/接收该请求 最后,有三个主要问题:Web applications 我正在用Tornado开始web开发。需要一些初学者帮助吗,web-applications,tornado,Web Applications,Tornado,很抱歉问了这么长的问题,但我很困惑,不知道我到底需要什么。所以,在发布任何内容之前,请通读整个问题,以便你能得到更好的想法 所以,我是一名软件工程合作专业的学生,在一个工作学期里,我的老板想让我用Tornado开发一个web应用程序。我在高中时做过一些html和css,但这真的超出了我的能力范围 Tornado几乎没有关于如何开始的教程。当然,有一个hello world的例子,但是他们抛出了一些聊天应用程序,在我的例子中,这些应用程序可能是用二进制编写的 我知道如何使用tornado渲染页面并
- 要正确使用Tornado,我还应该知道哪些其他语言?
- 我知道html,xslt,css,一些JS,SQL,json
- 我不想成为网络大师;我只想要基本的
- 如何对我的tornado处理程序发出GET/POST请求
- 如何重定向到相对的html页面
class MainHandler(RequestHandler):
def get(self):
print 'get...',
self.render('test.html', data = Data())
print 'done'
def post(self):
print 'post...',
pass
print 'done'
编辑:
现在,我对requesthandler有了更多的了解,但我不知道正确的方法是什么。我有一个RequestHandler处理两个页面的请求,但我希望能够为每个页面使用一个处理程序,我不知道我是否以最佳方式解释参数。我也不知道如何让参数指向*args参数
def get(self, *args, ** kwargs):
print 'get:', args, kwargs, 'Handling:',
if len(self.get_arguments('user')) > 0:
print 'user'
self.render('page2.html', user = self.get_arguments('user')[0])
elif len(self.get_arguments('page')):
print 'specific page:', self.get_argument('page')
self.render(self.get_argument('page'), data = Data())
else:
print 'default'
self.render('test.html', data = Data())
定义应用程序时,可以指定模板目录和静态文件目录:
导入设置
类应用程序(tornado.web.Application):
定义初始化(自):
处理程序=[
(r“/”,主处理器),
]
设置={
“模板路径”:Settings.template\u路径,
“静态路径”:Settings.static路径,
“调试”:Settings.debug
}
tornado.web.Application.\uuuuu init\uuuuuuu(self,handlers,**设置)
您可以定义Settings.py
导入操作系统
调试=真
DIRNAME=os.path.DIRNAME(_文件__)
STATIC\u PATH=os.PATH.join(DIRNAME,“STATIC”)
TEMPLATE\u PATH=os.PATH.join(DIRNAME,'TEMPLATE')
当您尝试访问龙卷风开始url时:
http://localhost:port/
Tornado在MainHandler中执行get方法。然后是Tornado render test.html页面。但您必须指定模板路径,以指示Tornado在何处可以获取此模板
class MainHandler(RequestHandler):
def get(自我):
打印“获取…”,
self.render('test.html',data=data())
打印“完成”
要在处理程序中的get或post方法中进行重定向,可以添加以下内容:
self.redirect(“/my\u new\u page.html”)
要正确使用Tornado,您可能会理解web应用程序的工作方式。客户机/服务器通信,了解HTML动词和更重要的尝试和尝试啊,谢谢。这很有帮助。我现在也开始考虑如何拦截表单get请求。您知道我可以使用哪些资源来了解更多关于RequestHandler的信息吗?具体来说,我想学习如何为页面分配一个新的RequestHandler,以及构建get请求以请求新页面的最佳实践。再一次,我觉得我对使用Tornado应该有一定程度的了解,但我没有。我在问题的最后添加了另一部分。我给出了一个新的答案,希望它能帮助你