Я работаю на примере случайной машины , но у меня проблемы. Я установил Dajax и Dajaxice в соответствии с этими двумя страницами: Dajax и Dajaxice . Мой файл ajax.py выглядит так:
import random
from dajax.core import Dajax
from dajaxice.decorators import dajaxice_register
@dajaxice_register
def randomize(request):
dajax = Dajax()
dajax.assign('#result','value',random.randint(1, 10))
return dajax.json()
Вот мои взгляды.py:
from django.shortcuts import render_to_response
from django.template import RequestContext
def dajax(request):
return render_to_response( 'dajax.html', context_instance=RequestContext(request) )
Вот мой urls.py:
from django.conf.urls.defaults import patterns, include, url
from dajaxice.core import dajaxice_autodiscover
from dajaxice import urls
from django.conf import settings
from Dajax.myapp.views import dajax
dajaxice_autodiscover()
urlpatterns = patterns('',
(r'^%s/' % (settings.DAJAXICE_MEDIA_PREFIX), include('dajaxice.urls')),
(r'^dajax/$', dajax),
)
Мой HTML-тег выглядит следующим образом:
<form>
<input type="text" name="result" value="" id="result">
<input type="button" name="rand" value="Let's Rand!" id="rand" onclick="Dajaxice.myapp.randomize(Dajax.process); return false;">
</form>
Вот как выглядит мой тег:
<head>
<title>My base template</title>
{% dajaxice_js_import %}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript" charset="UTF-8"></script>
<script src="{{ STATIC_URL }}js/jquery.dajax.core.js" type="text/javascript" charset="UTF-8"></script>
</head>
Я добавил следующее в мой init .py файл в директории моего проекта:
from myapp.ajax import randomize
Также следует отметить, что мое приложение Django называется myapp.
На моей странице, когда я нажимаю Let's Rand !, страница переходит к http://localhost:8000/dajax/?result=2,, и в поле ввода текста не отображается никаких значений. Я проверил консоль в Chromium и ошибок нет.
Неправильно ли я установил Dajax или Dajaxice, или что-то не так с моим кодом выше?
Полагаю, поскольку я использую jQuery вместо Prototype, мне нужно сделать что-то другое.
Спасибо за вашу помощь!