Flask url_for - 不正确的静态文件夹路径

时间:2017-08-04 22:05:16

标签: python flask

我尝试使用Flask将图像添加到我的quiz.html页面:

http://127.0.0.1:5000/quiz/static/img/question-mark.png

当我查看页面源代码时,它被解释为: http://127.0.0.1:5000/static/img/question-mark.png而非:
.css

然而,我的.js个文件和quiz.html文件使用相同的语法加载 |-app.py |-templates/ |-main.html |-quiz.html |-static/ |-css/ |-img/ 就好了。如何获得正确的静态文件路径?

我目前的结构是:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def homepage():
    return render_template("main.html")

@app.route('/quiz/')
def quiz():
    return render_template("quiz.html")

if __name__=="__main__":
    app.run(debug=True)

app.py

 try{
  // Get DB Object
  $db = new db();
  // Connect
  $db = $db->connect();
  $stmt = $db->prepare($sql);
  $stmt->bindParam(':id', $id);

  $query=$stmt->execute();
  if($query)
     echo '{"notice": {"text": "successfully deleted"}}' ;
  else
     echo '{"notice": {"text": "Some Error Occured"}}' ;
} catch(PDOException $e){
  //echo '{"error": {"text": '.$e->getMessage().'}}';
  return $response->withStatus(400)->write('{"error": {"text": '.$e->getMessage().'}}');
}

1 个答案:

答案 0 :(得分:1)

您不需要使用Jinja脚本来编写静态图像源。只需写下:

const express = require('express');
const app = express();
app.get('/hello', (req, res) => {
  res.send(`Hello ${req.user.name}`);
});
exports.app = functions.https.onRequest(app);

所有静态资源都会自动在<img src="/static/img/question-mark.png"> 下提供。