我想使用静态文件来使用runserver命令加载我的css。问题是我尝试了我在stackoverflow和django文档中找到的所有解决方案,但它根本不起作用...我不知道我能做什么... 如果我设置
STATIC_URL = '/static/'
STATIC_ROOT = 'C:\Users\Max\Works\www\mysite\mysite\static'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
我觉得这就够了......我错过了什么吗? 你能告诉我在开发环境中拥有静态文件的最佳设置是什么? 谢谢你的建议...
EDIT(1) 我已经在我的模板{{STATIC_URL}} css / dark-grey.css“中添加了cs,并且css位于C:\ Users \ Max \ Works \ www \ mysite \ mysite \ static \ css \ dark-grey.css中,我真的不能弄错...
答案 0 :(得分:1)
在路径中使用/ slashes和NOT \ slashes,即使对于Windows路径也是如此。
答案 1 :(得分:0)
您需要添加网址格式:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
# ... the rest of your URLconf here ...
urlpatterns += staticfiles_urlpatterns()
请参阅文档here
答案 2 :(得分:0)
在你的settings.py
中DEBUG =真
根据文档:
此视图由runserver自动启用(具有DEBUG设置) 设置为True)。
使用URL模式是强制它的一种方式,只要DEBUG = True,我个人甚至不必在我的项目中这样做。在开发时,你总是会有DEBUG,当你切换到生产时,你甚至都没有使用开发服务器,所以你会将你的生产服务器指向静态位置。
这是我的settings.py中的静态设置片段。我不需要手动添加该静态视图URL
import os
DEBUG = True
PROJECT_ROOT = os.path.dirname( __file__ )
PROJECT_NAME = os.path.basename(PROJECT_ROOT)
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static/')
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_ROOT, 'web/'),
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.static',
...
...
)
答案 3 :(得分:-3)
您还需要运行以下命令以将静态文件移动到正确的位置(并让Django知道它们在那里):
python manage.py collectstatic
Django 1.3中有关静态文件的完整文档如下: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/