अगर मैं सही ढंग से समझता हूं, तो आप उपयोगकर्ता से कुछ इनपुट लेना चाहते हैं, डेटाबेस से पूछताछ करना चाहते हैं और इनपुट के आधार पर उपयोगकर्ता परिणाम दिखाना चाहते हैं। इसके लिए आप एक साधारण 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('\\','/'),
)