2013-11-29 3 views
0

Я написал сценарий Django, который запускает парсер Python в web s * e. Я отправляю запрос на скрипт Django через AJAX. Однако, когда Ajax работает, он возвращается, поскольку 404 не найден для URL-адреса. Почему это происходит?Почему URL 404 не найден с Django?

Мой код ниже:

Ajax (с JQuery):

//send a `post` request up to AWS, and then 
//insert the data into the paths 

$.post('/ca', function(data){ 
//evaluate the JSON 
data = eval ("(" + data + ")"); 
//insert the vars into the DOM 
var contentOne; 
contentOne = data.bridge_time; 
contentOne += 'min delay'; 
$('#timeone').html(contentOne); 
var contentTwo; 
contentTwo = data.tunnel_time; 
contentTwo += 'min delay'; 
$('#timetwo').html(contentTwo); 
//if this falls through, push an error. 
var tunnel_time = data.tunnel_time; 
var bridge_time = data.bridge_time; 
var tunnel = document.getElementById('tunnel'); 
var bridge = document.getElementById('bridge'); 
var tunnelText = document.getElementById('timeone'); 
var bridgeText = document.getElementById('timetwo'); 
//algo for the changing icons. Kudos to Vito 
if(tunnel_time<bridge_time){ 
    tunnel.src="tunnel3.png"; 
    bridge.src="bridge2r.png"; 
}else if(bridge_time<tunnel_time){ 
    bridge.src="bridge21.png"; 
    tunnel.src="tunnel2r.png"; 
}else{ 
    bridge.src="bridge2n.png"; 
    tunnel.src="tunnel2g.png"; 
} 
    $.fail(function() { 
alert("We're sorry. We are having an error. Check back later."); 
}); 
}); 

Мой urls.py:

from django.conf.urls.defaults import * 
from views import views 

urlpatterns = patterns('', 
        (r'^/us', views.american_time), 
        (r'^/ca', views.canadian_time), 
) 

Мои urls.py и мой views.py находятся в той же папке, если это имеет значение. Они только что названы views.py и urls.py. Спасибо!

+0

Кажется, что ajax здесь неактуальен, вы можете оставить только URL-адрес с ответом 404. Я предполагаю, что вы получите 404, когда вы откроете его в браузере. Что такое ваш веб-сервер и как там развертывается django. Также релевантные части настроек были бы полезны для поддержки – alko

+0

@alko для веб-сервера, мы используем установщик Django/Apache/mod_wsgi от Bitnami, так как мы на AWS. – Tjs

+0

Из того, что я прочитал, кажется, вы задаете неправильный вопрос. Вы должны удалить все связанные с ajax вещи и спросить, почему ваш сайт django не работает. Я предлагаю вам полностью переписать вопрос. – alko

ответ

0

Попробуйте

from django.conf.urls.defaults import * 
from views import views 

urlpatterns = patterns('', 
    (r'^/us/$', views.american_time), 
    (r'^/ca/$', views.canadian_time), 
) 

Также вы должны добавить слэш в вашем JavaScript.

+0

Спасибо, но он все еще имеет ту же проблему. Может ли это иметь какое-либо отношение к тому факту, что я не начал проект Django для этого? Мы используем установщик Bitnami AWS, поэтому я не создал для него проект Django, просто загрузил файлы. – Tjs

+0

@Tjs у вас есть какой-либо рабочий код Django, или скрипт Ajax является единственной частью Django на вашем сайте? –

+0

@ DanielRoseman, вы можете уточнить? Я не совсем понимаю, что вы говорите. – Tjs

0

Я только что решил это: произошла ошибка в моих urls.py. У моей системы возникли проблемы с .defaults, который должен был импортироваться. Кроме того, у меня не было проекта Django, поэтому он не будет импортировать представления.

Смежные вопросы