PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Formulário Django para consultar banco de dados (modelos)


Você pode fazer uma pesquisa simples aqui. Você não precisa de nenhuma chamada POST ou criação de formulário. No entanto, se você deseja criar um formulário, isso ainda deve apontar na direção correta.

Tente algo assim:

search.html:
<form method="get" action="/search/">
  Search Notecards:<input type="text" name="q" id="id_q" value="{{ query }}"/>
  <input type="submit" value="Search" />
</form>

views.py:
from myapp.models import Book
from django.template import RequestContext
from django.shortcuts import render_to_response

def search(request):
    query = request.GET.get('q')
    try:
        query = int(query)
    except ValueError:
        query = None
        results = None
    if query:
        results = Book.objects.get(uid=query)
    context = RequestContext(request)
    return render_to_response('results.html', {"results": results,}, context_instance=context)

resultados.html:
{% if results %}
  {% for result in results %}
    {{ result.uid }}
    {{ result.xxxx }}
    {{ result.xxxx }}
  {% endfor %}
{% else %}
    <h3 class='error'>Please enter a valid UID</h3>
    <form method="get" action="/search/">
      Search Notecards:<input type="text" name="q" id="id_q" value="{{ query }}"/>
      <input type="submit" value="Search" />
    </form>
{% endif %}