Попытка отобразить локальные изображения на веб-сайте приложения фляги - PullRequest
2 голосов
/ 04 мая 2019

Я пытаюсь запустить веб-сайт через колбу для назначения. Flask работает, и шаблоны работают, проблема в том, что локальные файлы не появляются, когда я помещаю их в содержимое блока в коде HTML-страниц. Я также попытался поместить изображения в HTML-код шаблона, и это не сработало. Проще говоря, я хочу изменить фон, а также отобразить другие изображения на HTML-страницах, которые проходят через колбу, но они не отображаются.

На данный момент я пытался включить изображения в заголовке HTML-шаблона (не работает). Также пытался положить его в тело (не работает). Оба раза я использовал примеры в школах w3 и убедился, что путь был точным. Я пытался, когда изображение находилось в той же папке, статической папке или на рабочем столе, и это не сработало. Похоже, единственное, что сработало, - это использование URL-адреса для изображения, которое не помогло бы, если бы я представил это, когда интернет не работает.

//////flask code//////
from flask import Flask, render_template, url_for
app = Flask(__name__)


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


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

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

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

/////html example code(no they are not in the same file)/////
<html>
<head>

</head>
<body>
<style type="text/css">

// Unrelated Styling for Demo Purposes
@import url('https://fonts.googleapis.com/css?family=Lato');

html {
  &, &:after, &:before {
    box-sizing: border-box;
  }
}

html, body {
  height: 100%;
  width: 100%;
  font-size: 16px;
}

body {
  background-image: url("test1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  font-family: 'Lato', sans-serif;
}
</style>

Все, что я пытаюсь сделать, это заставить локальные файлы в моих папках всплывать при запуске через колбу. Если я нажимаю на html-файл, они появляются, но при запуске через колбу они не отображаются. Пожалуйста, помогите.

1 Ответ

1 голос
/ 04 мая 2019

Убедитесь, что папка static находится в корне приложения, и поместите изображение внутрь.

Затем измените URL изображения на:

url('/static/test1.jpg')

Вы также можете позвольте Flask сгенерировать для вас статический URL , заменив /static/test1.jpg на

{{ url_for('static', filename='test1.jpg') }}

Это устраняет необходимость вручную изменять URL-адреса, если вы когда-либо измените местоположение статической папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...