Значение, не отображаемое в флажке при получении значения с помощью Django и MSSQL

#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})