Снимите этикетку с формы колбы

#html #css #flask

Вопрос:

Я пытался придать стиль своей форме, созданной с помощью колбы, и это особая проблема, с которой я сталкиваюсь. Я не могу найти способ удалить поле «Файл не выбран» из поля изображения, и я не могу найти способ стилизовать кнопку загрузки, как я обычно делаю с помощью CSS. Я также использую bootstrap в своем файле.

Вот как выглядит поле формы при наведении курсора:

Вот как выглядит мое изображение при наведении

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

Комментарии:

1. как я знаю, ты не умеешь его стилизовать. Другие страницы могут скрыть эту кнопку и отобразить поддельную кнопку с кодом JavaScript, который становится скрытым Choose File , когда вы нажимаете поддельную кнопку.

2. @furas Да, я тоже рассматривал этот вариант. Можете ли вы развить эту идею в ответ?

Ответ №1:

Как я знаю, ты не умеешь его стилизовать.

Некоторые страницы просто скрывают его и используют собственную кнопку с кодом JavaScript для нажатия на ввод файла.

Когда вы нажимаете эту кнопку, она запускает код JavaScript, который запускается click() дальше file input .

Более сложный код может даже получить имя drag'a'drop файла и отправить это имя file input .


Минимальный рабочий пример:

 from flask import Flask, request, render_template_string  app = Flask(__name__)  @app.route('/', methods=['GET', 'POST']) def index():  if request.method == "POST":  print(request.files['image'])  print(request.files.getlist('image'))   return render_template_string(''' lt;stylegt; input[type="file"] {  display: none; } button {  border: 0;  width: 150px;  height: 150px;  border-radius: 50%; } button[name="select"] {  background-color: lime; } button[name="button"] {  background-color: red; } lt;/stylegt;  lt;form method="POST" enctype="multipart/form-data"gt; lt;input type="file" name="image" id="file_input" style="display:None"/gt;lt;/brgt; lt;button type="button" name="select" value="send" onclick="open_selection();"gt;SELECT IMAGElt;/buttongt; lt;button type="submit" name="button" value="send"gt;SENDlt;/buttongt; lt;/formgt;  lt;scriptgt; var file_input = document.getElementById("file_input");  function open_selection() {  file_input.click(); } lt;/scriptgt; ''')  if __name__ == '__main__':  #app.debug = True   app.run()   

введите описание изображения здесь