将Python应用程序放在远程服务器上

时间:2015-01-30 13:14:46

标签: python apache web-applications

我试图将我的项目放到学校页面上。我使用Flask框架来创建一个在我的本地主机上运行的Web应用程序。要在网络上运行,我建议将项目中的所有文件放到我的学校文件夹www.xxx.com/projects/myproject中,放入文件夹public_html Apache 服务器应该从中读取文件。我将复制+粘贴所有文件从我的项目复制到myproject文件夹。现在,当我尝试在远程学校计算机上运行它时,它似乎正常工作 - 当我运行app.py时,它返回Running on http://127.0.0.1:5000/。但后来我检查页面应该在哪里呈现html页面,它只显示项目文件,没有html。

我该怎么做才能让它发挥作用?

PS:我试图通过互联网查看该页面。

# -*- coding: utf-8 -*-

from flask import render_template
from flask import Flask
from flask import request
import S
import B

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template('my-form.html')

def setup():
    global b
    b = B.B()


@app.route('/', methods=['POST'])
def search():

    pattern = request.form['text']

    startTime = time()

    arr = []

    s = S.S(pattern,b)
    res = s.getR()

    for k in res:
        t = b.find(k)
        for key in t.keys():
            string = str(key)
            arr.append(string.decode('utf-8'))

    return render_template('my-form.html', arr=arr, pattern=pattern)

app.debug=False
if __name__ == '__main__':
    setup()
    app.run()

PS:我认为我在任何地方都没有index.html它应该呈现' my-form.html'并展示它。

1 个答案:

答案 0 :(得分:0)

在您学校的服务器上(支持python):

sudo apt-get install libapache2-mod-wsgi

您还必须在public_html中检查文件的权限。

问题可能是标头HTTP中缺少的内容类型

"内容类型:text / html \ n \ n"