Как передать имена пользователей из модели User в django для автозаполнения - PullRequest
0 голосов
/ 10 апреля 2019

Я реализую автозаполнение на html-странице моего веб-сайта django.

Я хочу использовать автозаполнение из материализации

  <div class="row">
    <div class="col s12">
      <div class="row">
        <div class="input-field col s12">
          <i class="material-icons prefix">textsms</i>
          <input type="text" id="autocomplete-input" class="autocomplete">
          <label for="autocomplete-input">Autocomplete</label>
        </div>
      </div>
    </div>
  </div>

Материализация показывает, как данные могут быть переданы в автозаполнение

  document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.autocomplete');
    var instances = M.Autocomplete.init(elems, options);
  });


  // Or with jQuery

  $(document).ready(function(){
    $('input.autocomplete').autocomplete({
      data: {
        "Apple": null,
        "Microsoft": null,
        "Google": 'https://placehold.it/250x250'
      },
    });
  });

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

Мне нужно передать имена пользователей из модели User в django этому автозаполнению.Как бы я поступил так

1 Ответ

0 голосов
/ 10 апреля 2019

Вы бы передавали имена пользователей в такой контекст:

вид

class YourView(View):
    def get(self, request, *args, **kwargs):
    return render(request, 'yourpage.html', {"users": User.objects.all()}

html (не может быть в файле .js, поскольку django необходимо проанализировать файл)

  var usernames = {
    {% for user in users %}
        {{ user.username }}: "{{ user.username }}",
    {% endfor %}
  }

  $(document).ready(function(){
    $('input.autocomplete').autocomplete({
      data: usernames,
    });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...