Python 如何正确设计页面和数据的URL
在我正在开发的一个web应用程序中,我有呈现html的路由,对于该页面的客户端JS应用程序,有返回json数据的路由 我在为这样的场景设计URL时遇到问题。例如,如果我点击一个汽车模型,应用程序是关于汽车的,我需要呈现显示模型详细信息的页面,但同时我需要获取模型及其所有不同变体的数据。到目前为止,我已经:Python 如何正确设计页面和数据的URL,python,ajax,rest,flask,Python,Ajax,Rest,Flask,在我正在开发的一个web应用程序中,我有呈现html的路由,对于该页面的客户端JS应用程序,有返回json数据的路由 我在为这样的场景设计URL时遇到问题。例如,如果我点击一个汽车模型,应用程序是关于汽车的,我需要呈现显示模型详细信息的页面,但同时我需要获取模型及其所有不同变体的数据。到目前为止,我已经: @app.route("/model/<oid>") def model_page(oid): return render_template('model-details.
@app.route("/model/<oid>")
def model_page(oid):
return render_template('model-details.html')
我觉得这样做是错误的,因为基本上第一个方法应该按照REST原则返回我想要的数据。如果我这样做了,我的页面url就会一团糟。对我来说,为页面提供一个好的url让我的用户直接访问它是很重要的
如何将页面呈现URL与“返回数据”URL完全分离?不是flask专家,但我可以想象您可以将一个变量传递到包含模型详细信息的模板中。这样做将完全不需要第二次通话。您的控制器能否以某种方式获取详细信息并像这样传递
@app.route("/model/<oid>")
def model_page(oid):
m = get_model(oid)
return render_template('model-details.html', model=m)
您可能必须以json的形式发送模型,但这种模式应该适用于这种情况。True。但那不是我想做的。我希望通过我的JS应用程序与数据交互。在这种情况下,单独的AJAX调用模式可以很好地工作——不过,我认为您可能希望使用加载的一些数据呈现模板,以保存另一个服务器调用。
@app.route("/model/<oid>")
def model_page(oid):
m = get_model(oid)
return render_template('model-details.html', model=m)