无法使用Django runserver提供静态文件

时间:2016-06-13 09:05:56

标签: python django static django-staticfiles

我在settings.py文件中有这个配置

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders',
    'dashboard',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.core.context_processors.tz',
    'django.contrib.messages.context_processors.messages',
    'django.core.context_processors.request',
    'social.apps.django_app.context_processors.backends',
    'social.apps.django_app.context_processors.login_redirect',
)

STATIC_URL = '/static/'

STATIC_ROOT = '/home/workspace/app-toscana/django/djangoapptoscana/djangoapptoscana/static'

我的Django项目位于以下目录中:
/home/workspace/app-toscana/django/djangoapptoscana

在此目录中,项目结构如下:

.
├── dashboard
│   ├── admin.py
│   ├── admin.pyc
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── models.py
│   ├── models.pyc
│   ├── templates
│   │   ├── index.html
│   │   ├── loginpage.html
│   │   ├── registerpage.html
│   │   └── startpage.html
│   ├── tests.py
│   ├── views.py
│   └── views.pyc
├── djangoapptoscana
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── static
│   │   └── admin
│   │       ├── css
│   │       │   ├── ...
│   │       ├── img
│   │       │   ├── ...
│   │       └── js
│   │           ├── ...
│   │   └── bootstrap
│   │       ├── css
│   │       │   ├── bootstrap.css
│   │   └── ....
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
└── manage.py

这是我的信息中心/模板/ index.html

的代码快照
{% load staticfiles %}
...
<link href="{% static 'bootstrap/css/bootstrap.css' %}" rel="stylesheet" type="text/css" />
...

当我尝试使用python manage.py runserver 0.0.0.0:8000测试项目时,我无法提供接收 404错误的静态文件。

我正在运行Django 1.6.1版本 有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

请尝试在STATICFILES_DIRS文件中指定settings.py

STATICFILES_DIRS = '/home/workspace/app-toscana/django/djangoapptoscana/djangoapptoscana/static'

STATIC_ROOT./manage.py collectstatic将收集静态文件以进行部署的目录的绝对路径。在以下路径中创建static_cdn文件夹。

STATIC_ROOT = '/home/workspace/app-toscana/django/static_cdn'

This堆栈溢出链接和this应该可以帮到你。