I am building a search form where the user inputs 3 values on a form, and I 
search the database for all records that match the 3 inputs.  Right now I 
am stuck on the user input part.

If you look at my *urls.py*, you will see that I tried to put 3 keywords 
arguments in there.  Then I tried to pass the 3 keyword arguments in the 
url tag with variables from my *forms.py*.  I think this is where things 
went wrong but I'm not sure.  I don't know if the .html file can use 
variables from *forms.py*

Basically what I'm trying to do is to take the 3 user inputs, and pass them 
as arguments in the URL.  Right now I'm getting:

NoReverseMatch at /

Reverse for 'search-results' with keyword arguments '{'pt': '', 'nb': '', 'nw': 
''}' not found. 1 pattern(s) tried: 
['search?(?P<pt>\\w+)&(?P<nb>\\w+)&(?P<nw>\\w+)']



*urls.py*
url(r'^search?(?P<pt>\w+)&(?P<nb>\w+)&(?P<nw>\w+)', 
views.IndexSearchResults.as_view(), name='search-results')


*index.html *
<form action="{% url 'search-results' pt=property_type 
nb=number_of_bedrooms nw=number_of_washrooms %}" method="get">
    {{ form.as_p }}
</form>


*views.py*
class IndexSearchResults(generic.ListView):
    template_name = 'search-results.html'


*models.py*
Class BuyerListing(models.Model):
     BEDS_OPTION = (
        (BEDS_0, '0 [Studio/Bachelor]'),
        (BEDS_1, '1'),
        (BEDS_1_1, '1+1'),
        (BEDS_2, '2'),
        (BEDS_2_1, '2+1'),
        (BEDS_3, '3'),
        (BEDS_3_1, '3+1'),
        (BEDS_4, '4'),
        (BEDS_5, '5'),
        (BEDS_5_1, '5+'),    
    )

     WASH_OPTION = (
        (WASH_1, '1'),  
        (WASH_2, '2'),  
        (WASH_3, '3'),  
        (WASH_4, '4'),  
        (WASH_5, '5'),  
        (WASH_5_1, '5+'),  
    )

    PROPERTY_TYPE = (
        (CONDO_APARTMENT, 'Condo Apartment'),
        (DETACHED_HOUSE, 'Detached House'),
        (SEMI_DETACHED, 'Semi-detached'),
        (TOWNHOUSE, 'Townhouse'),
    )

    property_type = models.CharField(max_length=50)
    number_of_bedrooms = models.CharField(max_length=50, default=BEDS_0)
    number_of_washrooms = models.CharField(max_length=50, default=WASH_1)


*forms.py*
class MainSearch(forms.Form):

    property_type = forms.ChoiceField(choices=BuyerListing.PROPERTY_TYPE)
    
    number_of_bedrooms = forms.ChoiceField(choices=BuyerListing.BEDS_OPTION)
    
    number_of_washrooms = 
forms.ChoiceField(choices=BuyerListing.WASH_OPTION)
  

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/deaaeafb-c8b9-45fc-9553-1c495c65dc28%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to