I would like to know how i can pass the html link element as a string into a django view and have the information rendered on that specific view. to be clear: I have this
In 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>
A django view rendered the items from a list and each item would ideally be clickable and the specific item would be passed into this view:
def search_stock(request):
search_item = request.POST.get('search_item')
ticker_request = search_item
..
my urls.py reads as :
path('search_stock', views.search_stock, name='search_stock'),
The problem I think may be that the click action is not actually passing the value into the function based view and I am not sure how to work around this easily. Essentially once the information loads (each item is a link for a specific ticker), I would like the user to be able to click on that link with the ticker being passed into the search_stock function as a string in order to actually render the specific search_stock view.
Much thanks now and in advance.
Advertisement
Answer
try this,
in urls:
path('search_stock/<str:item>/', views.search_stock, name='search_stock'),
in views:
def search_stock(request, item):
ticker_request = item
in html:
<a id="search_item" name="search_item" href="{% url 'search_stock' item %}" value={{item}} target="_blank">{{item}}</a>