Django

2013-06-03 4 views
8

में एक बहुत ही बुनियादी खोज फ़ॉर्म लिखना तो मैं कुछ बहुत ही सरल पूरा करने की कोशिश कर रहा हूं। मैं अपने खोज बॉक्स में एक शब्द दर्ज करना चाहता हूं, और इसे परिणामस्वरूप पृष्ठ पर प्रदर्शित करना चाहता हूं।Django

फार्म के लिए मेरे एचटीएमएल

<form method="get" action="/results/" class="navbar-form pull-right"> 
<input type="text" id="searchBox" class="input-medium search-query" name="q" placeholder="Search"> 
<input type="submit" class="btn" value="Search" > 
</form> 

views.py इस तरह दिखता है:

def search(request): 
    query = request.GET['q'] 
    t = loader.get_template('template/results.html') 
    c = Context({ 'query': query,}) 
    return HttpResponse(t.render(c)) 

और अंत में परिणाम टेम्पलेट शामिल हैं:

<div>You searched for: {{ query }} </div> 

यहाँ यूआरएल है। पीई

urlpatterns = patterns('', 
url(r'^home/$', 'search.views.home'), 
url(r'^results/$', 'search.views.results'), 

{{ query }} स्थान में कुछ भी नहीं दिख रहा है।

+0

क्या आप अपना 'urls.py' पोस्ट कर सकते हैं? –

उत्तर

8

ठीक है तो अपने views.py में खोज निपटने कार्रवाई search माना जाता है लेकिन जैसा कि मैंने में संदिग्ध अपने urls.py आप कहीं भी search विधि कॉल नहीं है।

आप search विधि कहां निष्पादित करते हैं?

Urls इस तरह होना चाहिए:

urlpatterns = patterns('', 
url(r'^home/$', 'search.views.home'), 
url(r'^results/$', 'search.views.search'), 
# or at least have a url for the search view 

नोट आपके प्रपत्र

में कार्रवाई विशेषता यह action="/results/" है। इसका मतलब है परिणाम परिणाम वह है जो फॉर्म को संभालने वाला माना जाता है। आप इसे action="/search/" में भी बदल सकते हैं और आपके यूआरएल इस तरह हैं:

urlpatterns = patterns('', 
url(r'^home/$', 'search.views.home'), 
url(r'^results/$', 'search.views.results'), 
url(r'^search/$', 'search.views.search'),