2013-09-29 1 views
1

У меня возникла проблема после попытки реализовать Dajax в моем проекте Django.Django, Dajax и Javascript - onclick не вызывает метод python

В определенный момент в ходе инструкции по установке и использованию веб-сайта Dajax, мне было поручено вызвать метод в ajax.py как таковой:

<button type="button" onclick="Dajaxice.MyProject.MyApp.say_hello(Dajax_process)">Dajax</button> 

Но когда я пытаюсь нажмите кнопку сказал, там вообще никакого ответа. Он действует как пустая кнопка.

Я все еще пытаюсь понять, как Даякс даже признает мою функцию say_hello, как это ... но это, вероятно, то, как используется Dajax.

У меня есть мой метод say_hello реализуется следующим образом:

from dajaxice.decorators import dajaxice_register 
from dajax.core import Dajax 

@dajaxice_register 
def say_hello(req): 
    print "DAJAX" 
    dajax = Dajax() 
    dajax.alert("Hello World!") 
    return dajax.json() 

На первый взгляд, я полагал, что это была проблема с не найти метод вообще. Я все еще не уверен на 100%, если это причина. Но это может быть так.

У кого-нибудь есть предложения относительно того, что я должен искать?

У меня есть все инструкции на странице: http://django-dajax.readthedocs.org/en/latest/installation.html#installing-dajax

Спасибо, David

ответ

1

В настоящее время поднявшиеся этот барьер сам.

пару вещей, чтобы убедиться:

  1. Скачать и установить JQuery, и поставить его где-то можно назвать его. Я положил его в статичном папку в моем приложении: /my_site/example_app/static/js/jquery-2.0.3.js
  2. Вам нужно будет загрузить, что с вашей точки зрения HTML Head с помощью:

    <script type="text/javascript" src="{{ STATIC_URL }}js/jquery-2.0.3.js"></script>

  3. Вы также должны убедиться, чтобы вызвать ядро ​​dajax Jquery с использованием:

    <script type="text/javascript" src="{{ STATIC_URL }}dajax/jquery.dajax.core.js"></script>

  4. Далее перед вашим запустить свой сервер для тестирования запустить

    manage.py collectstatic

  5. Это скопирует все Джанго потребности от Dajax/Dajaxice. Я установил оба из них в свою обычную Python2.7 lib, django отталкивает их оттуда и копирует их в нужную папку.

Это должно вас заставить ... Я не эксперт здесь, но эти шаги помогли исправить мою проблему.

Кроме того, если копирование кода с сайта Dajax, в не забудьте изменить корень приложения в OnClick вызывает ....

<input type="button" value="callback!" onclick="Dajaxice.*EXAMPLE-APP-NAME*.saybye(my_js_callback);"> 

Вам нужно изменить, что с выше «опросы» или «пример» ... независимо от имени приложения, которое запускает этот код.

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

  • Нет связанных вопросов^_^