如何在一个域下放置多个页面?

时间:2012-10-11 21:22:15

标签: python

所以,我有几个应用页面,我想把它放在像这样的网址

constants.heroku.com/physics/planck

constants.heroku.com/physics/e

constants.heroku.com/physics/standardgravitation

我的app.py for plancks constant app看起来像这样。

import os
from flask import Flask

app = Flask('plancksconstant')
app = Flask(__name__.split('.')[0])

@app.route('/physics/planck')
def hello():
    return '6.626068E-34'

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

此应用的网址为http://nameless-sands-2295.herokuapp.com/physics/planck。我得到了最终部分正常工作(/ physics / planck)但是url的开头仍然是应用程序的名称(nameless-sands-2295)。如何将其更改为“常量”而不是应用程序的名称?

解决了!!!! 就这样做了

import os
from flask import Flask

app = Flask('plancksconstant')
app = Flask(__name__.split('.')[0])

@app.route('/physics/planck')
def hello():
    return '6.626068E-34'

@app.route('/physics/standardgravity')
def hello():
    return '9.8'

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

1 个答案:

答案 0 :(得分:0)

您将无法将这些设置为使用“constants.heroku.com” - 这是heroku.com域的子域,显然不是您使用的域。但是,您可以使用任何域名注册商设置您自己的域名(就个人而言,我喜欢gandi.net但有一百万个选项)。

一旦你找到了&购买了一个合适的域名,您需要在您的区域文件中设置A记录(关于该记录的信息太多,这里是维基百科:http://en.wikipedia.org/wiki/Zone_file)。这会将所有请求重定向到您的heroku应用程序,例如“planckconstants.com”,而不会向最终用户显示heroku应用程序URL。