Я настроил веб-сайт django, позволяющий пользователям загружать файлы .txt, и я хочу добавить функцию редактирования, интегрировав редактор ACE (или любые другие предложения редактора?).
У меня есть список загруженных файлов, и я хочу, чтобы кнопка редактирования перенаправляла на страницу редактора с загрузкой содержимого файла на странице редактора.
Мне интересно, как загрузить содержимое файла в редактор ace?
Я нашел некоторый код о загрузке файла и непосредственном его отображении в редакторе. (https://jsfiddle.net/xlaptop2001/y70gL3kv) Однако я хочу перенаправить на новую страницу редактора с загрузкой файла, который уже был загружен, нажав «Изменить». кнопка.
{% extends 'base.html' %}
{% block content %}
<h1>Mechanism {{ object.id }} details</h1>
<style>
ul.b {
list-style-type: square;
line-height:200%;
}
</style>
<ul class="b">
<li>
{% if object.ck_mechanism_file %}
<a href="{{ object.ck_mechanism_file.url }}">{{ object.ck_mechanism_file }}</a>
<a href="/ace/">
<button type="button" class="btn btn-primary btn-sm">Edit</button>
</a>
<a href="delete_mechanism">
<button type="button" class="btn btn-danger btn-sm">Delete</button>
</a>
{% else %}
<span class="text-muted">No Mechanism File Attached</span>
{% endif %}
</li>
<li>
{% if object.ck_thermo_file %}
<a href="{{ object.ck_thermo_file.url }}">{{ object.ck_thermo_file }}</a>
<a href="/ace/">
<button type="button" class="btn btn-primary btn-sm">Edit</button>
</a>
<a href="delete_thermo">
<button type="button" class="btn btn-danger btn-sm">Delete</button>
</a>
{% else %}
<span class="text-muted">No Thermo File Attached</span>
{% endif %}
</li>
<li>
{% if object.ck_transport_file %}
<a href="{{ object.ck_transport_file.url }}">{{ object.ck_transport_file }}</a>
<a href="/ace/">
<button type="button" class="btn btn-primary btn-sm">Edit</button>
</a>
<a href="delete_transport">
<button type="button" class="btn btn-danger btn-sm">Delete</button>
</a>
{% else %}
<span class="text-muted">No Transport File Attached</span>
{% endif %}
</li>
<li>
{% if object.ck_surface_file %}
<a href="{{ object.ck_surface_file.url }}">{{ object.ck_surface_file }}</a>
<a href="/ace/">
<button type="button" class="btn btn-primary btn-sm">Edit</button>
</a>
<a href="delete_surface">
<button type="button" class="btn btn-danger btn-sm">Delete</button>
</a>
{% else %}
<span class="text-muted">No Surface File Attached</span>
{% endif %}
</li>
</ul>
<a href="/ck2yaml/{{ object.id }}">
<button type="button" class="btn btn-primary btn-sm">Convert to YAML</button>
</a>
<a href="update">
<button type="button" class="btn btn-primary btn-sm">Update Files</button>
</a>
<p><a href="/list/">Back to mechanism list</a></p>
{% endblock %}
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<title>ACE in Action</title>
<style type="text/css" media="screen">
#editor {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
</head>
<body>
<div id="editor">function foo(items) {
var x = "All this is syntax highlighted";
return x;
}</div>
<div id="file-content" style="display: none;"></div>
<script src="{% static 'JS/aceeditor.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.4/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.session.setMode("ace/mode/javascript");
</script>
</body>
</html>