11

我正在使用 Flask 0.8。

如何拥有这样的 URL 别名:

@app.route('/')
def index():
    # I want to display as http://localhost/index, BUT, I DON'T WANT TO REDIRECT.
    # KEEP URL with only '/'

@app.route('/index')
def index():
    # Real processing to display /index view

那么,为什么我希望使用别名,因为处理 /index 的 DRY

有人知道解决方案吗?

谢谢胡椒粉。

4

3 回答 3

20

这应该有效。但是为什么要两个 URL 显示相同的内容呢?

@app.route('/')
@app.route('/index')
def index():
    ...
于 2012-06-10T02:08:56.800 回答
8

正如Flask 的 URL 注册表文档中所写:

您还可以为同一个函数定义多个规则。然而,它们必须是独一无二的。

@app.route('/users/', defaults={'page': 1})
@app.route('/users/page/<int:page>')
def show_users(page):
    pass
于 2012-06-10T02:15:50.540 回答
2

我不知道 Flask 是否有办法将多个 URL 分配给视图函数,但你当然可以像这样链接它们:

@app.route('/')
def root():
    return index()

@app.route('/index')
def index():
    # Real processing to display /index view
于 2012-06-10T02:08:49.023 回答