Python: Нужна помощь в работе с выпадающим списком
Я принял веб-приложение от пользователя, который покинул компанию, и я не знаю, что я делаю. В основном у меня есть таблица сайта, в которой есть 2 столбца, которые мне нужны, сайт и имя. Я хочу, чтобы имя отображалось в выпадающем меню, а сайт был значением выпадающего меню. Вот как это выглядит сейчас:
В шаблоне представления
def getWarehouseList():
warehouse_list = ['Warehouse'] + pd.DataFrame.from_records(Site.objects.filter(active=True).values('site')).sort_values('site')['site'].tolist()
return tuple([(choice, choice) for choice in warehouse_list])
В html/view:
<select id="warehouse\_drop" name = "warehouse"> {% for warehouse in warehouse\_list %} <option value ="{{warehouse}}">{{ warehouse }}</option> {% endfor %} </select>
Как я могу изменить значение опции на "имя" вместо "сайт" (склад). Спасибо.
Ваш ответ должен содержать все поля объекта Site в контексте шаблона, а не только значение сайта. Ваша функция представления должна выглядеть следующим образом:
from django.shortcuts import render
def getWarehouseList(request):
context={
'warehouse_list' : Site.objects.filter(active=True) # you can give any string for 'warehouse_list'. It may be 'site_list' or anything else but you must use same name in html file
}
return render(request, 'xxxx.html', context=context)
где 'xxxx.html' - имя вашего html-файла. Он может находиться в папке templates. Если есть внутренние папки, вы должны указать 'folderpath/xxxx.html'.
в файле 'xxxx.html':
<select id="warehouse\_drop" name = "warehouse">
{% for warehouse in warehouse_list %}
<option value ="{{warehouse.name}}">{{warehouse.site}}</option>
{% endfor %}
</select>