Перенаправление с дополнительными аргументами после функции сценария

У меня есть сайт на Django с шаблонами Jinja2, где мне нужно создать форму, которая принимает переменную username и возвращает идентификатор пользователя на той же странице.

Для этого у меня есть как стандартный viewbase, так и функция в моем views.py. Функция принимает POST-запрос от HTML-формы на странице 'List', преобразует его в ID с помощью скрипта python, хранящегося в приложении, а затем перенаправляет обратно на главную страницу, которая имеет оператор 'if' для отображения текста

Я не могу просто вывести 'list.html', поскольку дополнительный контекст в исходном представлении создает список.

Проблема в том, что как бы я ни пытался, я не могу получить данные обратно на главной странице.

Моя последняя ошибка (игнорируйте мои тестовые значения, пожалуйста):

NoReverseMatch("Reverse for 'list' with keyword arguments '{'username': 'asdfa', 'ID': 'hi'}' not found. 1 pattern(s) tried: ['/list/$']",)

Моей конечной целью является превращение секции '{% if 'username'} в модальную, но пока я не смогу подтвердить, что данные обрабатываются, я полагаю, мне не стоит даже думать об этом.

Вот код:

views.py

class ListView(TelegramViewBase):
    template_name = "telegram/list.html"

    @method_decorator(login_required)
    @method_decorator(permission_required("sig.telegram.view", raise_exception=True))
    def dispatch(self, request, *args, **kwargs):
        return super().dispatch(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        self.request.js_storage.update(
            entry_table_columns=EntryTable.get_columns(self.request.user),
        )

        table_mode = self.request.GET.get("table_mode", conf.TABLE_MODE_ENTRIES)
        if table_mode not in dict(conf.TABLE_MODE_CHOICES):
            table_mode = conf.TABLE_MODE_ENTRIES

        context.update(
            filters=utils.get_filters(self.request, table_mode),
            table=utils.get_table(self.request, table_mode),

            table_mode=table_mode,
            table_mode_title=utils.get_table_mode_display(table_mode),
            table_choices=conf.TABLE_MODE_CHOICES,
        )
        return context

def search_user(request):
   if request.method == 'POST':
      username = request.POST.get('username')
      user_id = convert(username)
      context = {'username' : username, 'ID': user_id}

      return HttpResponseRedirect(reverse('list', kwargs = context))
   return render(request, 'list.html', context)

list.html (просто показывает раздел формы)

<form action={% url 'search_user' %}" method='post'>
  <input typ"hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
  <label for="username"> Name Converter:</label>
  <input id="username" type="text" name="username">
  <input type="submit" value="submit">
</form>

{% if username %}
  {{ username }}, {{ user_id }}
{% endif %}

Спасибо!

В качестве случайной второй просьбы, если кто-нибудь знает учебник по модалам, где результаты показываются в модале, а не в форме, я был бы чрезвычайно благодарен. Пока поиски ни к чему не привели, а модалы в форме трудно перевести для новичка.

Вернуться на верх