简单的python代码到网站

时间:2011-12-10 00:25:45

标签: python interface upload web

我是python的初学者。出于练习原因,我想学习如何将python代码上传到网站。 我有一个域名和网络托管服务,但我真的很困惑如何将我的代码与一个集成 我网站上的网页。

(我对Tkinter有一点不错的知识) 谁能告诉我如何将这个简单的功能上传到我的网站?: 界面上有两个条目供用户输入两个数字。按一个新按钮 窗口(网页),显示答案。

谢谢。

2 个答案:

答案 0 :(得分:1)

基础知识

这是一个非常简单的服务器端Python脚本。要使用它,请将其放在服务器上的cgi-bin文件夹中。 (稍后可以将其配置为在其他位置运行,但cgi-bin通常可以开箱即用。)然后通过chmod或某些Gui控件更改文件的权限。您需要允许任何人执行它,因此755会这样做。然后导航到http://domain.tld/cgi-bin/myscript.py

#!/usr/bin/python

print "Content-type: text/html"
print
print "<pre>"
import os, sys
from cgi import escape
print "<strong>Python %s</strong>" % sys.version
keys = os.environ.keys()
keys.sort()
for k in keys:
    print "%s\t%s" % (escape(k), escape(os.environ[k]))
print "</pre>"

如果可行,您可以继续使用框架(如web.py)运行更复杂的脚本,并回复表单。

表格数据

要回答实际问题,我们需要一个带有表单的页面。我是从我使用的模板制作的,并添加了一个带有单个输入字段的表单。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Webpage</title>
  <meta name="description" content="html5 webpage">
  <meta name="author" content="">
  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
</head>
<body>
    <form action="/cgi-bin/test.py">
    <input name="mystuff" width="500px" />
    <input type="submit" value="Do" />
    </form>
</body>
</html>

注意它指向我们的test.py脚本。这也需要更新,以便它理解我们的mystuff表单元素。我们抛出一些错误处理并导入我们的cgi模块。 except部分是懒得完成的,但由于你不会使用代码的那部分,我认为这并不重要。

print "Content-type: text/html"
print
print "<pre>"

import os, sys
import cgi, cgitb
cgitb.enable()

form = cgi.FieldStorage()

try: 
    num = int(form['mystuff'].value)
    print 'The number %d to the 13th power is %d.' % (num, num**13)
except Exception: 
    print 'What am I suposed to do with that?  This is what you call an "err
or message".  Try a number instead'

print "</pre>"

您应该可以转到您的网页并在字段中输入7,这将导致包含...的页面

  

7号到13号的数字是96889010407。

希望有所帮助。

答案 1 :(得分:0)

我建议你看看像Django和mod_wsgi这样的东西。

如果您具有对服务器的shell访问权限,通常会有帮助。