Django不会提供一些静态文件

时间:2017-03-14 05:16:49

标签: python django django-staticfiles

我不确定发生了什么,但由于某些原因,django不会提供一些脚本,并给我一个未找到的错误,鄙视显示的目录是正确的,而同一目录中的其他人没有问题服务。 这是我的文件目录结构

mysite/
├── imagenes
│   ├── migrations
│   │   └── __pycache__
│   ├── __pycache__
│   ├── recibo
│   ├── static
│   │   ├── css
│   │   └── js
│   └── templates
│       └── imagenes
├── media
│   └── recibos
│       └── 2017
│           └── 03
│               └── 10
├── mysite
│   ├── __pycache__
│   └── static
│       └── sitioI
├── static
│   ├── css
│   └── js
│       └── jquery-file-upload
└── templates
    └── registration

以下是我的设置:

STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIR= [
    os.path.join(BASE_DIR, "static"),
    ]

upload.html中使用的静态文件,其中只提供了lightbox.css和lightbox.js:

{% extends 'imagenes/base.html' %}
{% load static %}
{% block style %}
  <link rel="stlyesheet" href="{% static 'css/lightbox.css' %}">
{% endblock %}
 .
 .
 .
{% block scripts %}
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
<script src="{% static 'js/lightbox.js' %}" ></script>
<script src="{% static 'js/jquery-file-upload/vendor/jquery.ui.widget.js' %}"></script>
<script src="{% static 'js/jquery-file-upload/jquery.iframe-transport.js' %}"></script>
<script src="{% static 'js/jquery-file-upload/jquery.fileupload.js' %}"></script>
<script src="{% static 'js/upload.js' %}"></script>
{% endblock %}

这是我的urls.py:

urlpatterns = [
    url(r'^imagenes/', include('imagenes.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^cuentas/perfil/$', editar_usuario, name='perfil'),
    url(r'^cuentas/registro/$', RegistrationView.as_view(form_class=RegistroUsuario), name='registro'), 
    url(r'^cuentas/', include('registration.backends.hmac.urls')),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()

以下是我从运行runserver

获得的内容
[13/Mar/2017 22:41:52] "GET /static/js/jquery-file-upload/jquery.fileupload.js HTTP/1.1" 404 1853
[13/Mar/2017 22:41:52] "GET /static/js/jquery-file-upload/jquery.iframe-transport.js HTTP/1.1" 404 1871
[13/Mar/2017 22:41:52] "GET /static/js/jquery-file-upload/vendor/jquery.ui.widget.js HTTP/1.1" 404 1871
[13/Mar/2017 22:41:52] "GET /static/js/upload.js HTTP/1.1" 404 1763
[13/Mar/2017 22:41:53] "GET /static/js/jquery-file-upload/vendor/jquery.ui.widget.js HTTP/1.1" 404 1871
[13/Mar/2017 22:41:53] "GET /static/js/jquery-file-upload/jquery.iframe-transport.js HTTP/1.1" 404 1871
[13/Mar/2017 22:41:53] "GET /static/js/jquery-file-upload/jquery.fileupload.js HTTP/1.1" 404 1853
[13/Mar/2017 22:41:53] "GET /static/js/upload.js HTTP/1.1" 404 1763

1 个答案:

答案 0 :(得分:1)

静态文件夹的位置是错误的,它应该在imagenes文件夹的同一级别。像这样

my site/
   imagenes/
         setting.py
   imaagenes2/ #beacuse i dnt khow this floder name in your project
       views.py
   static/
       css/
          main.css
       js/
          main.js

现在你可以把它放在setting.py :

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

并在template :

{% load staticfiles %}
<link rel="stylesheet" src="{% static "css/main.css" %}"/>

它应该是有用的。

如果想要访问THIS LINK以了解有关使用静态文件的更多信息

相关问题