Сам нашел хороший ответ, публикуя здесь сообщения на случай, если другим интересно то же самое.
Нижеследующее основано на отличном учебном пособии в W3School: https://www.w3schools.com/howto/howto_html_include.asp
Я создал файл javascript custom_include_html.js
, и поместил его в папку /templates
моего плагина CKAN. (Я считаю, что это не файл шаблона, но он имеет непосредственное отношение к шаблонам, и в настоящее время меня не беспокоит изменение пути к загрузчику jinja2, поэтому я согласен с тем, чтобы он оставался в этой папке). Содержимое файла следующее, скопированное из учебника W3School, но размещенное здесь для вашей собственной справки:
function includeHTML() {
var x, i, elem, file, xhttp;
z = document.getElementByTagName("*");
for (i=0; i
Затем в шаблоне Jinja2, определяющем страницу, которую я должен вставить в файл my_file.html
Я сделал блок как
{% block static_html_desc %}
{% endblock %}
Заметьте, что этот файл помещается в общую папку CKAN , именно так, как я хотел в моем вопросе выше.
В нижней части шаблона я называю скрипт javascript следующим образом:
{% block custom_javascript %}
{% endblock %}
Файл my_file.html
затем обрабатывается в блоке {% block static_html_desc %}
.
На этом этапе нужно всего лишь заменить вызов my_file.html
чем-то не жестко закодированным, чтобы разные страницы загружали соответствующие файлы *.html
. Это легко сделать с помощью вспомогательных функций шаблонов.
В моем случае у меня была "отмена отмены" changelist, где я устранял проблему с предыдущим, отправляют. Для устранения проблемы, я внес изменения в другой файл, который показывал в changelist, однако, это показало ошибку, когда я пытался отправить (Отправьте прерванный - решают проблемы, тогда используют 'p4, отправляют-c xxxx'.)
я заметил при щелчке правой кнопкой в клиенте P4V, что файл не был "проверен" (даже при том, что он показывал в changelist, как изменено).
решение: Я проверил его снова вручную и тогда смог отправить прекрасный.
Обычно это происходит потому, что либо у вас нет доступа к файлам, либо права
Когда это происходит со мной, я разбиваю список изменений на части, чтобы найти преступника. Это можно сделать несколькими способами. Если вам нужны указатели, задайте новый вопрос.
Обычно вы увидите эту ошибку при отправке, если в списке изменений есть файл, который не существует на клиенте и поэтому не может быть передан на сервер. Есть как минимум два условия, которые могут вызвать эту проблему: -
Во-первых, Perforce позволяет вам добавлять файлы в ваш список изменений (через p4
добавить
), которых не существует. Просто откройте подсказку и введите p4 add
blahblah.txt
(предполагается, что файл blahblah.txt не существует). Неизбежно будет
с радостью добавьте файл в список изменений по умолчанию. Если вы попытаетесь отправить
этот список изменений (а файл все еще не существует), то вы получите
вышеупомянутую ошибку).
Во-вторых, вы можете p4 отредактировать
файл, затем удалить его локально, а затем попробовать
и отправьте файл (или список изменений, в котором он находился). Вы
получит ту же ошибку.
Если вы используете командную строку или p4win (или, как я полагаю, p4v), то в выводе будет указан файл (ы), вызывающий нарушение. Вы можете увидеть такие строки:
open for read: d:\path\to\file\somefile.txt: The system cannot find the file specified.
Эта ошибка сообщит вам, что файл не существует. Этот вывод будет на панели вывода в p4win или будет отображаться в выводе из командной строки p4.