无法让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()
这应该够了吧…