@derasoft

Как выполнить функцию не покидая отрендереного шаблона?

Здравствуйте. У меня есть простейшее представление, выводящее форму для добавление статьи в блог:
def create(request):
    return render(request, "editor.html")

И есть сама форма
<form action="../upd/" method="post">
    {% csrf_token %}
    <div>
    <label for="name">Название статьи:</label>
    <input type="text" name="fname" autocomplete="off" class="form-control" value="{{ name }}">
    <br>
    <label for="fcat">Отправить статью в категорию:</label>
      !!!СПИСОК КАТЕГОРИЙ!!!
    <button type="submit"><img src= {% static "sysimg/check.png" %} ></button>
    </div>
    <div class="row">
      <textarea name="fcontent" rows="30" class="f_marg">{{ content }}</textarea>
      <p align="center"><a href="../bb_help" target="_blank">Справка по синтаксису BB-code</a></p>
    </div>
  </form>

  <!--Загрузка картинок-->

  <form method="post" action="/upload" enctype="multipart/form-data">
    <div class="row">
      <div col></div>
      <p>Загрузка картинки</p>
      <input type="file" name="img">
      <button type="submit">Загрузить</button>
    </div>
  </form>


Я переписываю этот код со своего старого PHP проекта, и раньше обработкой загрузки занимался отдельный PHP скрипт, который получал картинку, выдавал код для её вставки в текст, а затем с помощью history.back через JavaScript возвращал пользователя на страницу назад, таким образом напечатанный текст не терялся, а между сервером и клиентом гонялся минимум данных. Сейчас же я хочу реализовать это не так кастыльно, но как я понял, я не могу вызвать другой Python-код в рамках одного представления в качестве действия формы, по крайней мере не используя асинхронность. Подскажите пожалуйста, можно ли через Form Action (или любым другим образом) вызвать другое представление так, чтобы не покидать при этом страницы с формой, и желательно (но не обязательно) не используя при этом асинхронность?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы