Ok! Here it is:

{% extends "base.html" %}

{% block sidebar %}
    <ul>
        <li><a href="/articles/all">Articles</a></li>
        <li><a href="/articles/create/">Create Article</a></li>
    </ul>

    <h3>Search</h3>
    {% csrf_token %}
    <input type="text" id="search" name="search" />

    <ul id="search-results">

    </ul>
{% endblock %}

{% block content %}

<h2>Language is: {{language}}</h2>
<h2>Session Language is: {{session_language}}</h2>

{% if articles.count > 0 %}
{% for article in articles %}
<div>
<h2><a href="/articles/get/{{article.id}}/">{{article.title}}</a></h2>
<p>{{article.body | lower | truncatewords:"10"}}</p>
<p>{{ article.likes }} people liked this article.</p>

</div>
{% endfor %}
{% else %}
<p>None to show.</p>
{% endif %}

{% endblock %}


On Sat, Aug 10, 2013 at 11:22 PM, Jonathan D. Baker <
[email protected]> wrote:

> Can you paste the markup for your search form?
>
> Sent from my iPhone
>
> On Aug 10, 2013, at 11:46 AM, Robin Lery <[email protected]> wrote:
>
> I am practicing from a tutorial where I have reached to create a search
> box with jquery and ajax. Every thing is going good, except, when i press
> any key in the search, I get an error,
>
> RuntimeError at /articles/search You called this URL via POST, but the URL
> doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect
> to the slash URL while maintaining POST data. Change your form to point to
> localhost:8000/articles/search/ (note the trailing slash), or set
> APPEND_SLASH=False in your Django settings.
>
> I checked for "/" in my code, but its there. Don't know what's going on.
> Please help.
>
> application's urls.py:
>
>     url(r'^search/$', 'article.views.search_title'),)
>
> views.py:
>
> def search_title(request):
>     if request.method == "POST":
>         search_text = request.POST['search_text']
>     else:
>         search_text = ''
>
>     articles = Article.objects.filter(title__contains=search_text)
>
>     return render_to_response('ajax_search.html', {'article': article})
>
>  I'm using jquery version: jquery-2.0.0.min.js
>
> ajax.js:
>
> $(function(){
>
>     $('#search').keyup(function() {
>
>         $.ajax({
>             type: "POST",
>             url: '/articles/search/',
>             data: {
>                 'search_text' : $('#search').val(),
>                 'csrfmiddlewaretoken' : 
> $("input[name=csrfmiddlewaretoken]").val()
>             },
>             success: searchSuccess,
>             dataType: 'html'
>         });
>
>     });
> });
> function searchSuccess(data, textStatus, jqXHR){
>     $('#search-results').html(data);}
>
> And even when I inspect the ajax.js, in the last line
>
> $('#search-results').html(data);
>
> It reads it as:
>
> $('#search-results').html(date);
>
> Please help me somebody. Thank you.
>
> My main url:
>
> (r'^articles/', include('article.urls')),
>
>  --
> 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 http://groups.google.com/group/django-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>  --
> 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 http://groups.google.com/group/django-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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 http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to