Передача html-элемента из тега привязки в представление django

#javascript #python #django

#javascript #python #django

Вопрос:

Я хотел бы знать, как я могу передать элемент html link в виде строки в представление django и получить информацию, отображаемую в этом конкретном представлении. для ясности: у меня есть это

В html

  {% if list_1 %}
     <h3 class="display-5"><u>{{ choice }}</u></h3>
          <div class="row justify-content-md-center row-eq-height">
            {% for item in list_1 %}
            <div class="col-md-4">
                <a id = "search_item" name = 'search_item' href="{% url 'search_stock' %}" value={{ item }} target="_blank">{{item}}</a>
  

Представление django отображает элементы из списка, и каждый элемент в идеале должен быть интерактивным, и конкретный элемент будет передан в это представление:

 def search_stock(request):
   search_item = request.POST.get('search_item')
   ticker_request = search_item
.....
  

мой urls.py читается как :

 path('search_stock', views.search_stock, name='search_stock'),
  

Проблема, я думаю, может заключаться в том, что действие click фактически не передает значение в представление на основе функций, и я не уверен, как легко это обойти. По сути, как только информация загружается (каждый элемент является ссылкой для определенного тикера), я хотел бы, чтобы пользователь мог щелкнуть по этой ссылке, при этом тикер передается в функцию search_stock в виде строки, чтобы фактически отобразить конкретное представление search_stock.

Большое спасибо сейчас и заранее.

Ответ №1:

попробуйте это,

в URL-адресах:

 path('search_stock/<str:item>/', views.search_stock, name='search_stock'),
  

в представлениях:

 def search_stock(request, item):
   ticker_request = item
  

в html:

 <a id="search_item" name="search_item" href="{% url 'search_stock' item %}" value={{item}} target="_blank">{{item}}</a>