Thanks for the idea.  I was trying to get autocomplete to use admin's copy 
of jquery, but I keep getting "$ is not a function."  grr ...

django is already calling this $.ajaxSetup, but for whatever reason, the 
header is not getting sent.

On Thursday, December 10, 2015 at 8:22:24 PM UTC-5, Andrey inte wrote:
>
> Hello, Joel
>
> I had exactly the same problem.
> When you save a page, an ajax script also saves keywords, which is POST 
> and requires CSRF token. It should be set by 
> $.ajaxSetup({ beforeSend: function(xhr, settings) { if 
> (!csrfSafeMethod(settings.type) && sameOrigin(settings.url)) { // Send 
> the token to same-origin, relative URLs only. // Send the token only if 
> the method warrants CSRF protection // Using the CSRFToken value acquired 
> earlier xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')); } }
> });});
>
> But, I had a separate copy of Jquery (for my smart_selects app)
> I think, beforeSend just set it for that copy, and not for the one used 
> when ajax'ing keywords (i.e., 'regular'), or, maybe, did not set it at all;
>  so, I just set my smart_selects to use the admin's copy of Jquery. It 
> works now.
>
> Hope, it helps.
>
> On Friday, December 11, 2015 at 1:16:26 AM UTC+9, Joel Gwynn wrote:
>>
>> I've added autocomplete light to my admin page by making my own copy of 
>> base_site.html and adding the autocomplete code, as per the quick-start 
>> guide 
>> https://django-autocomplete-light.readthedocs.org/en/hvad-support/quick.html
>>
>> So in my extrahead block I have:
>>
>> <script 
>> src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"; 
>> type="text/javascript"></script>
>> {% include 'autocomplete_light/static.html' %}
>>
>> When I go to save a page, however, it doesn't save, and I get
>>
>> http://localhost:8000/admin_keywords_submit/ Failed to load resource: 
>> the server responded with a status of 403 (FORBIDDEN)
>>
>> I can save my own models just fine, and I can also save users, just not 
>> pages.  According to google, it may have something to do with the CSRF 
>> token not being sent.  In the request, I see that it's being sent in the 
>> cookie, but not in the header.
>>
>> I see that this has been a problem in the past.  I'm using mezzanine 
>> 4.0.1 and django 1.8.7
>>
>> TIA,
>> Joel
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to