无法让Django提供静态文件


问题内容

我知道在SO上有很多类似的线程实际上有相同的问题-但我无法解决我的问题

Django版本

>>> import django
>>> print django.get_version()
1.6.2

我想从模板访问静态文件(css,图像等)。

<link rel="stylesheet" type="text/css" href="styles.css" />

我的文件夹结构

Project
|-- Project
    |-- settings.py
    |-- ...
|-- app
    |-- views.py
    |-- ...
|-- templates
    |-- a_template.html
|-- static
    |-- styles.css

settings.py(重要部分)

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'server',
)

STATIC_URL = '/static/'

我尝试了很多不同的解决方案STATIC_URL(甚至是绝对路径),但没有一个对我有用。


问题答案:

首先,我将static模板标签添加到模板顶部:

{% load static %}

然后在href中:

href="{% static "styles.css" %}"

然后,我将更改自己的位置,urls.py并为您的开发服务器提供服务以提供静态文件的可能性:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

/* you url patterns here */

if settings.DEBUG:
    urlpatterns += staticfiles_urlpatterns()

这应该够了吧…