2013-05-04 6 views
2

Я не знаю, что делать django, и я пробовал много часов, чтобы получить простой пример запуска dajaxice, но я, похоже, не нашел подходящего способа поиска файлов.Как импортировать dajaxice?

Я сделал и переделал installation и попытался найти ответы в многочисленных похожих вопросах о потоке stackoverflow, например this one и this one.

Я поставил {% dajaxice_js_import %} в заголовке myapp_index.html, который печатает как:

<script src="/static/dajaxice/dajaxice.core.js" 
    type="text/javascript" charset="utf-8"></script> 

, но он не может найти этот файл:

ImproperlyConfigured: Бэкэнд хранение нашедшему staticfiles не имеет действительное место.

И прибудете терпит неудачу:

GET /static/dajaxice/dajaxice.core.js HTTP/1.1" 500 59 

Как ни странно dajax нагрузки:

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

Вот моя структура папок:

myproject 
----manage.py 
----myproject 
--------settings.py 
--------urls.py 
----myapp 
--------ajax.py 
--------urls.py 
--------templates 
------------myapp_index.html 

я не очень понял, почему нам нужны два файла urls.py, но почему-то кажется, чтобы получить доступ myapp_index.html если я ставлю

from django.views.generic.simple import direct_to_template 

, а затем

url(r'^$', direct_to_template, {'template': 'myapp_index.html'}), 

в шаблоны URL myapp «s.

Я также попытался несчетное имена файлов в

python manage.py findstatic dajaxice.core.js 

но почему-то не находит dajaxice, даже если установлен и принят в файле settings.py среди INSTALLED_APPS dajaxice.

Также по ошибке по python manage.py collectstatic, но если я правильно понял, мне не нужно запускать его, пока я на сервере разработки.

Наверное, у меня есть некоторые основные недоразумения базовой структуры. :(

Я использую расфасованные последние Ubuntu пакеты:

django: 1.4.5, 
dajaxice: 0.5.5 

Заранее спасибо за любой намек!

здесь файл шаблона:

{% load static %} 
{% load dajaxice_templatetags %} 

<html> 
    <head> 
    <title>My base template</title> 
    {% dajaxice_js_import %} 
    <script type="text/javascript" src="{% static "/static/dajax/jquery.dajax.core.js" %}"></script> 

<script type="text/javascript"> 
function my_js_callback(data){ 
alert(data.message); 
} 
Dajax; 
Dajaxice; 
    </script> 
</head> 
... 
<button  onclick="Dajaxice.myproject.myapp.sayhello(my_js_callback);">Click here!</button> 

я не получаю сообщение об ошибке Джанго, страницы показывает, но я получаю это в Firebug:

"NetworkError: 500 Internal Server Error - http://localhost:8000/static/dajaxice/dajaxice.core.js" 

и это:

ReferenceError: Dajaxice is not defined 
Dajaxice; 
+0

Пожалуйста вставьте выход './manage.py collectstatic --noinput'. –

+0

Кроме того, убедитесь, что у вас есть 'DEBUG = True' в' settings.py', запустите [firebug] (https://addons.mozilla.org/en-US/firefox/addon/firebug/), откройте 'Console' и перезагрузите страницу. Вы должны увидеть что-то вроде страницы с ошибкой Django с подробной информацией об ошибке в журнале консоли Firebug. –

+0

Я отредактировал мой оригинальный вопрос, чтобы включить то, что вы просили. – kmgrds

ответ

2

Это похоже что вы испортили свой urls.conf. Он должен содержать примерно следующее:

url(dajaxice_config.dajaxice_url, include('dajaxice.urls')), 

Не так ли?

Кроме того, STATICFILES_FINDERS часть файла settings.py должна включать в себя:

'dajaxice.finders.DajaxiceFinder', 
+0

Спасибо за быстрый ответ! У моей STATICFILES_FINDERS была третья строка (DefaultStorageFinder) без комментариев, но я пробовал и то и другое, и это не имеет никакого значения, я пробовал прокомментировать и раскомментировать. Любая другая идея, что я мог проверить? – kmgrds

+0

Привет! @kmgrds, вставьте вывод './manage.py collectstatic --noinput'. –

+0

Слишком долго для комментария: надеюсь, что этого хвоста достаточно: return self.nodelist.render (контекст) Файл «/usr/lib/python2.7/dist-packages/django/template/base.py», строка 823 , in render bit = self.render_node (node, context) Файл «/usr/lib/python2.7/dist-packages/django/template/debug.py», строка 74, в render_node return node.render (контекст) Файл «/usr/lib/python2.7/dist-packages/django/template/defaulttags.py», строка 424, в рендере Поднять e django.core.urlresolvers.NoReverseMatch: Обратное для 'dajaxice-endpoint 'с аргументами'() 'и аргументами ключевого слова' {} 'не найдено. – kmgrds