【问题标题】:Background image not showing on Flask template [duplicate]Flask模板上未显示背景图像[重复]
【发布时间】:2016-02-29 06:17:19
【问题描述】:

我是 Flask、Pythonanywhere、HTML/CSS 初学者。我正在尝试在模板上获取背景图片,但它没有显示出来。

我的网站安排如下:

/ > home > user> mysite > static >background

/ > 主页 > 用户> mysite >template >thet.html

/ > 主页 > 用户> mysite > mainthing.py

在我的模板上,我尝试了以下代码示例,但没有产生任何结果:

<body background='/home/user/mysite/static/background.png'>

<body background="{{ url_for('/home/user/mysite/static', filename='background.png') }}">

这个问题似乎也发生在我的本地机器上,即使当我在 Dream Weaver 上打开 html 模板时,它也可以正常打开。只是不在网络浏览器上。

我在这里尝试了建议:jinja2 set background image

当正文背景未显示背景时,url_for 给了我一个内部服务器错误。

【问题讨论】:

  • 你用的是什么模板引擎?
  • Jinja2 是 Fl​​ask 用的吗?
  • url_for 采用函数名称,此处不相关。您需要在 pythonanywhere webapps 选项卡上设置静态文件配置,以从 /static/ 提供静态文件。然后 url 应该类似于 /static/background.png,并且与您在 pythonanywhere 上的 homedir/path 完全无关。
  • 感谢康拉德的回答。我从错误中吸取了教训

标签: flask jinja2 pythonanywhere


【解决方案1】:

你可以像这样链接静态文件url_for('static', filename='background.png')(Flask doc)

【讨论】:

  • 这正是我尝试过的。它给了我一个内部服务器错误。 (参见上面的代码示例)
  • url_for('/home/user/mysite/static', filename='background.png') 并不完全相同。您指向计算机上的static 目录,而不是告诉烧瓶使用项目的static 文件夹。
  • 您的代码示例与此答案不匹配。 url_for 想要端点的名称(例如,static),而不是文件夹的路径。
  • 默认情况下,Flask 添加一个端点来提供名为“static”的静态内容(doc)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 2017-01-27
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多