2017-04-17 141 views
1

我想包含不在带应用程序中的静态文件,但在一个单独的目录中,名为staticDjango静态文件404(未找到)

该目录包含一个构建目录,其中包含CSS & JS目录。

除了CSS和JS目录内的文件外,我还想包含缩小的文件,如jQuery,react和浏览器,这些文件位于bower_components目录中。

我的项目结构如下:

Music/ 
├── band/ 
│ ├── migrations/ 
│ ├── __init__.py 
│ ├── admin.py 
│ ├── apps.py 
│ ├── models.py 
│ ├── serializers.py 
│ ├── tests.py 
│ ├── urls.py 
│ └── views.py 
├── music/ 
│ ├── __init__.py 
│ ├── settings.py 
│ ├── urls.py 
│ ├── views.py 
│ └── wsgi.py 
├── node_modules/ 
├── static/ 
├──── static/ 
│  ├── bower_components/ 
│  ├── build/ 
│  ├── css/ 
│  ├── images/ 
│  └── js/ 
├── templates/ 
     ├── band/ 
     ├── MasterPages/ 
     ├── index.html 

音乐内settings.py包含以下内容:

STATIC_URL = '/static/' 

STATIC_ROOT = 'C:/Users/Broski/PycharmProjects/Music/static' 

MEDIA_ROOT = 'C:/Users/Broski/PycharmProjects/Music/upload' 

这MasterPage.html文件位于MasterPages目录下模板:

{% load staticfiles %} 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
    <title>Music</title> 
    <link rel="stylesheet" href="{% static 'build/css/main.css' %}" type="text/css" /> 
</head> 
<body> 

{% block content %} 

{% endblock %} 

    <script src="{% static 'bower_components/jquery/dist/jquery.min.js' %}"></script> 
    <script src="{% static 'bower_components/react/react.min.js' %}"></script> 
    <script src="{% static 'bower_components/babel/browser.min.js' %}"></script> 
    <script type="text/babel" src="{% static 'build/js/indexReact.js' %}"></script> 

</body> 
</html> 

当我加载网站时,模板呈现,但静态文件没有。我收到一个404错误。

GET http://127.0.0.1:8000/static/css/main.css 
127.0.0.1/:22 GET http://127.0.0.1:8000/static/bower_components/jquery/dist/jquery.min.js 
127.0.0.1/:23 GET http://127.0.0.1:8000/static/bower_components/react/react.min.js 
127.0.0.1/:26 GET http://127.0.0.1:8000/static/bower_components/babel/browser.min.js 404 (Not Found) 

正如你所看到的,我需要的反应,jQuery和浏览器正确加载继续此YouTube教程:

Building a website with Django and React.js Video 1: Defining our project structure

谢谢

回答

1

固定。

我困惑STATIC_ROOTSTATICFILES_DIRS

所以我删除static_root并更换到:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static/'), 
) 

其中base目录只是点到我的项目文件夹中。