@Ivan-Proger
Начинающий Python/Django разработчик.

Как сделать так, чтобы картинка поиска отображалась на всех страницах?

Привет! В форме за кнопку поиска виступает картинка.
<form id="search" action="{% url 'Home_page_url' %}" method="
                        {% csrf_token %}
                        <input id="head-form" type="search" placeholder="Поиск..." maxlength="50" 
                         name="search">  
                        <input type="image" src="static/img/search2.png">
                </form>


Этот код размещен в base.html и как и должно быть этот шаблон главный и в него вставляют различные блоки, например "контен блок". Суть в том, что когда я на первой странице сайта, где url = 127.0.0.1:8000 все рабоет хорошо, но когда путь меняеться, например 127.0.0.1:8000/page1/, картинка не отображается на странице.

Что говорит терминал когда не нашел
Not Found: /page1/static/img/search2.png
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Прежде чем браться за Django, стоило бы выучить основы. В частности, что такое относительный и абсолютный URL.
<input type="image" src="/static/img/search2.png">

Ну и документацию Django по обслуживанию статики тоже стоит почитать, чтобы не хардкодить пути.
<input type="image" src="{% static 'img/search2.png' %}">
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Чтобы гарантировано ловить статику надо выполнить команду collectstatic. Оно соберет все зависимости проекта в папку статики и оттуда захардкоженные пути сработают.
А в остальном соглашусь с авторами предыдущих ораторов, надо читать документацию. В примере развертки проектов все это расписано на уровне «скопируй и сработает».
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы