Jika saya mengerti dengan benar, Anda ingin mengambil beberapa input dari pengguna, menanyakan database dan menunjukkan hasil pengguna berdasarkan input. Untuk ini, Anda dapat membuat formulir Django sederhana yang akan mengambil input. Kemudian Anda dapat meneruskan parameter ke tampilan di GET
request dan query database untuk kata kunci.
EDIT :Saya telah mengedit kode. Ini akan berfungsi sekarang.
views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from .models import Person
from django.core.exceptions import *
def index(request):
return render(request, 'form.html')
def search(request):
if request.method == 'POST':
search_id = request.POST.get('textfield', None)
try:
user = Person.objects.get(name = search_id)
#do something with user
html = ("<H1>%s</H1>", user)
return HttpResponse(html)
except Person.DoesNotExist:
return HttpResponse("no such user")
else:
return render(request, 'form.html')
urls.py
from django.conf.urls import patterns, include, url
from People.views import *
urlpatterns = patterns('',
url(r'^search/', search),
url(r'^index/', index)
)
form.html
<form method="POST" action="/search">
{% csrf_token %}
<input type="text" name="textfield">
<button type="submit">Upload text</button>
</form>
Pastikan juga Anda menempatkan template Anda di folder terpisah bernama templates
dan tambahkan ini di settings.py
your Anda :
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'),
)