Ако разбирам правилно, искате да вземете някои данни от потребителя, да направите заявка в базата данни и да покажете резултатите на потребителя въз основа на въведените данни. За това можете да създадете прост django формуляр, който ще вземе входа. След това можете да предадете параметъра на изглед в GET
заявете и подайте заявка в базата данни за ключовата дума.
РЕДАКТИРАНЕ :Редактирах кода. Сега трябва да работи.
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>
Също така се уверете, че сте поставили вашите шаблони в отделна папка с име templates
и добавете това във вашия settings.py
:
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'),
)