Images Appearing In All But 1 Flask Page
Solution 1:
URLs are made up of directories and filenames. Anything that precedes a / is considered a directory. Anything after the final / is the filename. Your problem is that you're using relative URLs. When you say
static/pics/gamma.png
your browser makes a request for that file relative to the current page's directory. In the case of URLs like / and /shop, the directory is /. The browser will request /static/pics/gamma.png.
In the case of URLs like /shop/item/1, the directory is /shop/item/. Your browser will then request /shop/item/static/pics/gamma.png.
Since your URLs match the former, you should store them as absolute URLs (with the leading /) so that the browser will make the correct request.
On a semi-related note, you should be using url_for whenever possible.
url_for('static', filename='css/home.css')
Solution 2:
In your item view function, you are not passing the value of id into your sql expression, here is the safe way to do it:
@app.route('/shop/item/<id>')defitem(id):
cursor = mysql.connect().cursor()
sql_exp = "SELECT * FROM shoes WHERE id=%d"
cursor.execute(sql_exp, id)
data = cursor.fetchall()
return render_template('item.html', item = data)
Post a Comment for "Images Appearing In All But 1 Flask Page"