我有 URL 相关的问题。我有索引页面和项目页面(可以显示许多项目之一,具体取决于您作为参数传递的项目 key )。 我想要“漂亮”的网址,这样我就可以让 domainname.com/index 和 domainname.com/some_project_key 调用不同的 View 函数
@app.route('/')
@app.route('/index')
def index():
pass
@app.route('/<path:projectkey>')
def project(projectkey):
pass
这对我不起作用,因为如果我尝试转到索引页面,它将通过索引函数,但在返回模板之前,它还将运行项目函数,在该函数中它将对不存在的项目运行查询。 是否有一些内置解决方案或需要一些解决方法? 非常感谢我能得到的任何帮助。
请您参考如下方法:
如果您尝试从 Web 浏览器调用您的索引页面,请记住许多浏览器也会对同一域进行 GET 调用以检索您的网站图标。在我试图复制这个......
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
print 'index'
return 'index'
@app.route('/<path:projectkey>')
def project(projectkey):
print 'project'
return 'project'
app.run(debug=True)
运行后,我命中了索引并收到...
index
127.0.0.1 - - [14/Oct/2013 18:08:41] "GET / HTTP/1.1" 200 -
project
127.0.0.1 - - [14/Oct/2013 18:08:41] "GET /favicon.ico HTTP/1.1" 200 -
换句话说,这是有效的。但是,“project”会被打印出来,因为浏览器将向 /favicon.ico 发出第二个 GET 请求。
