#python #django
#python #django
Вопрос:
У меня есть список в моей функции в views.py и отобразил их на HTML-странице в виде тегов. Когда я нажимаю на любой из тегов, мне нужно получить этот текст тегов в другой функции в views.py когда форма будет отправлена.Пожалуйста, помогите.
def index(request):
vendor_data = requests.get('https://cve.circl.lu/api/browse').content
vendors = json.loads(vendor_data)
vendor_list = []
context = {}
for i in range(len(vendors['vendor'])):
vendor_list.append(vendors['vendor'][i])
paginator = Paginator(vendor_list, 50)
page_number = request.GET.get('page')
context['page_obj'] = paginator.get_page(page_number)
return render(request,'index.html',context)
index.html
<form action="{% url 'appVuldb:output' %}" method="POST" id="venform">
{% csrf_token %}
{%for vendor in page_obj%}
<ul>
<li>
<a href="javascript:void(0);" class="link" name="vendor_name"
onclick="document.forms['venform'].submit();">{{vendor}}
</a>
</li>
</ul>
{%endfor%}
</form>`
Комментарии:
1. Чего вы в конечном итоге пытаетесь достичь с помощью этого?
2. Когда я нажимаю на тег <a>, мне нужно передать текст внутри функции в представлениях, чтобы я получил всю информацию об этом поставщике
3. Я думаю, что для этого нужны старые добрые гиперссылки. Тогда вам не нужна форма или Javascript, и вы избегаете прерывания кнопки «Назад».
Ответ №1:
Используйте скрытый ввод:
<input type="hidden" value="{{ vendor }}" name="vendor_name"/>
Комментарии:
1. Это работает только в том случае, если OP также создает разные формы для каждого поставщика.