Вызвать тег шаблона Django с помощью userinput - PullRequest
0 голосов
/ 15 марта 2019

Я хочу использовать пользовательский тег шаблона Django для проверки, находится ли идентификатор пользователя в базе данных или нет.Мы уже создали собственный шаблонный тег, который работает до сих пор, но я не могу заставить его работать с формой.

Цель - не обновить всю страницу, а просто показать результат этого запроса.Как этого добиться?

HTML-форма:

<form role="form" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="text">
    <button>Check Me</button>
</form>

{{ test|testid:123 }} <!-- Works, shows True or False -->

Фильтр:

@register.filter
def testid(value, test_id):
    if Test.objects.filter(id=test_id).exists():
        return True
    return False

Я пытался найти это, но, похоже, большинстволюди делают это, внедряя iQuery, просто используя формы или что-то подобное, и я пытаюсь избежать этого и хотел использовать для этого тег шаблона.

1 Ответ

1 голос
/ 15 марта 2019

Django - это только внутренняя система.Его участие заканчивается на уровне шаблона HTML, то есть он не предоставляет ничего в режиме реального времени.По умолчанию все взаимодействия включают в себя обратную передачу на сервер, то есть обновление страницы.Это не значит, что вы не можете выполнять взаимодействия Ajax в реальном времени в проекте Django, только то, что Django не собирается вам там помогать, и вы не найдете ничего, что могло бы помочь в документах Django.

Требуется гораздо больше работы, чтобы получить эти результаты без обновления страницы.Я думаю, что в большинстве случаев люди чрезмерно влюблены в достижение этой цели.Вам нужно будет настроить принимающее представление, написать javascript или jquery для публикации в принимающем представлении, сохранить данные в принимающем представлении, а также написать js для обновления страницы в реальном времени, предполагая, что серверная часть сохранитхорошо прошло.Все возможно, и мы все это сделали, но подумайте, стоит ли это того.

Если это абсолютное требование, покопайтесь, потому что для этого потребуется немало пользовательского кода и инструментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...