#python #sql-server #django
#питон #sql-сервер #джанго
Вопрос:
У меня есть код, который должен извлекать содержимое для флажка, используя значение из других выпадающих списков. Так что в настоящее время я могу получить значение выпадающего списка, но не флажок. Я проверил имя столбца и все связанные с ним вещи, но все то же самое, что и в таблице базы данных. И не смог найти причину, по которой он не работает.
index.html
<br>amp;emsp;<label for="sn">Server Names:</label>
{% for n in result5 %}
<input type="checkbox" id="Server1" name="Server1" value="{{n.servername}}">
<label for="Server1"> {{n.servername}}</label>amp;emsp;amp;emsp;
{% endfor %}
models.py
class Index(models.Model):
# name = models.CharField(max_length=100)
invid = models.IntegerField(primary_key=True)
apptypeofpg1 = models.CharField(max_length=100)
customerofpg1 = models.CharField(max_length=100)
#TemplateName = models.CharField(max_length=100)
environmentofpg3 = models.CharField(max_length=20)
patchconfigofpg3 = models.CharField(max_length=100)
views.py
if request.method == 'POST':
if request.POST['ServerDetails']:
print("Hi")
cursor5 = conn.cursor()
cursor5.execute("select distinct(servername) from PatchingUI.dbo.mainDetails WHERE abc= '" abc "' and qwe ='" qwe "' and chs= '" chs "'; ")
result5 = cursor5.fetchall()
print(result5)
Но я могу печатать содержимое внутри views.py
. Он показывает результат запроса в views.py
. Но не на HTML-странице. Я не могу понять, в чем причина этого.
Комментарии:
1. Ваш запрос открыт для SQL-инъекции, используйте параметры для значений, а не интерполяцию
Ответ №1:
Вам нужно вернуться result5
в context
словарь из вашего представления, чтобы шаблон мог иметь к нему доступ:
return render(request, 'index.html', {'result5': result5})