首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导入dajaxice?

如何导入dajaxice?
EN

Stack Overflow用户
提问于 2013-05-04 20:24:08
回答 1查看 3K关注 0票数 2

我是django的nooby,我尝试了许多小时来获得dajaxice运行的简单示例,但我似乎没有找到寻找文件的正确方法。

我做了并重新做了安装,并试图在堆栈溢出(如这一个这一个 )上的许多类似问题中找到答案。

我将{% dajaxice_js_import %}放在myapp_index.html的标题中,它打印如下:

代码语言:javascript
复制
<script src="/static/dajaxice/dajaxice.core.js"
    type="text/javascript" charset="utf-8"></script>

但是它找不到这个文件:

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

结果失败了:

代码语言:javascript
复制
GET /static/dajaxice/dajaxice.core.js HTTP/1.1" 500 59

奇怪的是,足够多的dajax负载:

代码语言:javascript
复制
<script type="text/javascript" 
    src="{% static  /static/dajax/jquery.dajax.core.js" %}"></script>

这是我的文件夹结构:

代码语言:javascript
复制
myproject  
----manage.py  
----myproject  
--------settings.py  
--------urls.py  
----myapp  
--------ajax.py  
--------urls.py  
--------templates  
------------myapp_index.html  

我也不太明白为什么我们需要两个urls.py文件,但是如果我把

代码语言:javascript
复制
from django.views.generic.simple import direct_to_template

然后

代码语言:javascript
复制
url(r'^$', direct_to_template, {'template': 'myapp_index.html'}),

myapp的url模式。

我还尝试了不可数的文件名

代码语言:javascript
复制
python manage.py findstatic dajaxice.core.js

但是不知怎么的,它没有找到dajaxice,尽管dajaxice是安装在settings.py文件中并在INSTALLED_APPS中接受的。

同样,python manage.py collectstatic也因为同样的原因而失败,但如果我理解正确,只要我在开发服务器上,我就不需要让它运行。

我想我对基本结构有一些基本的误解。:(

我正在使用预置的最新的ubuntu软件包:

代码语言:javascript
复制
django: 1.4.5, 
dajaxice: 0.5.5

谢谢您的提示!

下面是模板文件:

代码语言:javascript
复制
{% 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中得到了这样的信息:

代码语言:javascript
复制
"NetworkError: 500 Internal Server Error -  http://localhost:8000/static/dajaxice/dajaxice.core.js"

这是:

代码语言:javascript
复制
ReferenceError: Dajaxice is not defined
Dajaxice;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-04 20:49:33

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

代码语言:javascript
复制
url(dajaxice_config.dajaxice_url, include('dajaxice.urls')),

是吗?

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

代码语言:javascript
复制
 'dajaxice.finders.DajaxiceFinder',
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16378621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档