CSS和图像静态文件加载,但js不是
CSS and images static files are loading however js are not
urls.py:
from django.conf.urls import url, patterns
from registration import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from registration.views import index
urlpatterns = patterns('',
# ex: /polls/,
url(r'^index/', index.as_view(), name = 'index'),
)+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += staticfiles_urlpatterns()
local.py
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
PROJECT_DIR = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'staticfiles'),
)
index.html
<script src="{% static 'app_name/js/highcharts.js' %}"></script>
<script src="{% static 'app_name/js/highcharts-3d.js' %}"></script>
<script src="{% static 'app_name/js/exporting.js' %}"></script>
我正在加载我的css和图像在相同的方式如上所述的上述js文件。图像和CSS加载非常好。知道为什么会发生这种情况吗?我该如何解决?
提前感谢!
在开发模式下不使用STATIC_ROOT设置。它只在使用'collectstatic'管理命令收集静态文件时使用。默认情况下,静态文件将在每个已安装应用程序的名为"static"的子目录以及STATICFILES_DIRS设置中提到的任何目录中查找。
同样,如果您在设置中有DEBUG=True,则不需要特别将staticfiles_urlpatterns添加到url .py文件中。这是自动完成的。
假设如下:
- 你的目标是在一个默认的django项目中寻找静态文件。所以你在INSTALLED_APPS中没有一个单独的django 'app'设置。
- 你的indexview可以找到你的index.html模板,你没有邮报》
- 你的视图你的项目目录结构看起来像这样:
文件夹结构:
myproject
-manage.py
-myproject
-myproject>__init__.py
-myproject>urls.py
-myproject>settings.py
-myproject>wsgi.py
-staticfiles
-staticfiles>js>highcharts.js
然后,试试这个:
在settings.py
(只显示相关设置)
DEBUG=True
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'staticfiles'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
In urls.py
:
from django.conf.urls import url
urlpatterns = patterns('',
url(r'^index/', index.as_view(), name = 'index'),
)
and in index.html
:
{% load staticfiles %}
<script src="{% static 'js/highcharts.js' %}"></script>
问题是javascript文件中的一些语法错误。解决。谢谢大家的帮助。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- JS变量返回的对象不是值
- Uncaught TypeError:undefined不是函数-ember js
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 为什么不是'我的JS滑块正在工作
- angular.js:13424错误:[ng:areq]参数'fn'不是函数,getObject
- 在Meteor:p5.AudioIn()中集成p5.sound.js不是构造函数
- 使用js(不是PHP)创建图像文件
- 三.js不是三的实例.对象3D
- Node.js 不是文件上传(以及所有基于事件循环的语言)的好选择 - 这是真的
- Angular JS不是函数错误
- 为什么Backbone.js不是't绑定我的活动
- .split()JS不是“;“分裂”;正确地
- Page.js:不是Hashbang,而是Hash
- 酒窝.js:不是按字母顺序排列y轴,而是按数据集中的出现顺序排列
- Globalize.js不是只在德国文化中设置日期格式
- Wowza和Video.js不是流媒体
- Js不是在chrome上运行,而是在firefox上运行
- CSS和图像静态文件加载,但js不是