2

我是 django 的菜鸟,我尝试了很多小时来获得一个简单的 dajaxice 运行示例,但我似乎没有找到查找文件的正确方法。

我做了并重新安装,并试图在 stackoverflow 上的许多类似问题中找到答案,比如这个这个

{% dajaxice_js_import %}输入的标题myapp_index.html打印为:

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

但它找不到这个文件:

配置不当:静态文件查找器的存储后端没有有效位置。

并且获取失败:

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'}),

inmyapp的网址格式。

我还尝试了无数的文件名

python manage.py findstatic dajaxice.core.js

但不知何故,它没有找到 dajaxice,即使 dajaxice 已安装并在INSTALLED_APPS.

由于同样的原因也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>

页面显示,我没有收到 Django 错误,但我在 Firebug 中得到了这个:

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

和这个:

ReferenceError: Dajaxice is not defined
Dajaxice;
4

1 回答 1

2

看来你搞砸了你的 urls.conf。它应该包含以下内容:

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

可以?

此外,文件的STATICFILES_FINDERS部分settings.py应包括:

 'dajaxice.finders.DajaxiceFinder',
于 2013-05-04T20:49:33.710 回答