Я испробовал все возможные способы установки Dajaxice, чтобы протестировать его, но независимо от того, ЧТО, я могу показаться, что обслуживаю все файлы JS соответствующим образом, но НИКОГДА не могу вызвать вызов функций в ajax.py. В частности, в моем шаблоне у меня есть кнопка с

onclick="Dajaxice.dajaxtest.exampleapp.sayhello(my_js_callback);"

Пока что ВСЕГДА получаю (в консоли разработчика в Chrome)

Uncaught TypeError: Cannot read property 'exampleapp' of undefined

В данном конкретном случае это «exampleapp», однако, следуя другим предложениям, я пробовал несколько разных ссылок. Кажется, что объект Dajaxice на моей странице индекса просто не имеет никаких свойств, как можно было бы ожидать, у него нет ни «myprojectname» (dajaxtest), ни «myappname» (exampleapp), ни просто «myfunction».

Кроме того, в документации по установке Dajaxice не упоминается, в том числе

from dajax.core import Dajax

В ajax.py, но другой ответ сделал, поэтому я попытался безрезультатно.

Если вам интересно, точная база кода, которую я пытаюсь сделать, заархивирована и доступна здесь: https://docs.google.com/file/d/0B16ANo4rID0PZld5V0p0enlRdUU/edit (Dajax / Dajax ice устанавливаются через pip install django-dajax, но на самом деле идеальным ответом на мой вопрос будет, если вы У вас есть система Dajaxice, которая работает, как в мире вы ее установили, с подробными инструкциями, поскольку кажется, что официальная документация не очень функциональна.

0
Alex Whittemore 30 Янв 2013 в 03:40

2 ответа

Лучший ответ

Я сделал именно то, что документация говорит, и это работало нормально (хотя я только действительно когда-либо получал пример проблемы, работающей).

Несколько вещей, которые я заметил:

1) Вам не нужно импортировать Dajax, чтобы заставить Dajaxice работать (так как первый находится поверх второго).

2) Я думаю, что ваша кнопка должна быть onclick="Dajaxice.exampleapp.sayhello(my_js_callback);"

3) Вам нужно добавить urlpatterns += staticfiles_urlpatterns() в конец вашего urls.py

Я надеюсь, что это помогает!

1
moarCoffee 4 Фев 2013 в 12:12

Я полагаю, вы не добавили имя приложения в свой проект settings.py внутри INSTALLED_APPS. как это:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'dajaxice',
    'simple',
)
0
xuhui546 24 Дек 2014 в 02:33