2016-11-24 2 views
-1

Я ищу для создания SQL queries с Django, но у меня нет результата отображения. Эти запросы очень важны, потому что я хотел бы настроить панель исследований, используемую клиентом.Выполнение необработанных запросов SQL с Django

Например:

Пользователь хочет найти все человек в моей таблице, которые названы «Dupont» и живущие в Нью-Йорке

В моем views.py, я написал что-то вроде этого:

def Test(request) : 

    cursor = connection.cursor() 
    cursor.execute('''SELECT * FROM BirthCertificate_people WHERE `name` = "Dupont" AND `city` = "New-York"''') 
    row = cursor.fetchone() 

    print row 

    template = loader.get_template('test.html') 
    return HttpResponse(template.render(request)) 

В моем файле шаблона test.html:

<h2 align="center"> SQL Queries display </align> </h2> 

{% block content %} 

<!-- What I write there --> {{ }} 

{% endblock %} 

Я не знаю Как я могу отобразить результаты SQL-запросов в моем .html-файле.

Я прочитал некоторые учебники: Django Raw SQL Query но никто не приводит на данный момент ..

Спасибо так много!

+3

Я не понимаю, о чем вы просите. Во-первых, это простой запрос, который тривиально выражать в ORM; а во-вторых, вы показываете данные так же, как вы показываете * любые другие * данные в Django, передавая их в контекст шаблона. –

+0

Я использовал запросы ORM, и он работает. Поскольку это был первый раз, я не использовал этот метод. – Deadpool

ответ

5

Вам необходимо передать строку как контекст, чтобы ее можно было получить в html. Один из способов сделать это с помощью 1) Внутри вашего импорта views.py оказывают

from django.shortcuts import render 

2) Теперь передайте шаблон и контекст вместе

def Test(request) : 

    cursor = connection.cursor() 
    cursor.execute('''SELECT * FROM BirthCertificate_people WHERE `name` = "Dupont" AND `city` = "New-York"''') 
    row = cursor.fetchone() 

    print row 

    context = {"row":row} 
    return render(request, "test.html", context) 

3) Теперь внутри шаблона «test.html «вы можете получить доступ к своему ряду: -

<h2 align="center"> SQL Queries display </align> </h2> 

{% block content %} 

{{ row }} 

{% endblock %} 
Смежные вопросы