我的文件夹结构如下:
mysite_new/
manage.py
mysite/
__init__.py
urls.py
setting.py
wsgi.py
templates/
default.html
static/
admin/
img/
logo.png
ticket/
__init__.py
models.py
view.py
urls.py
......
在setting.py中,我设置了
STATIC_URL = '/static/'
STATIC_ROOT = ''
STATICFILES_DIRS = (
)
并在ticket / urls.py中设置
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT )
<html>
<head>
<img src="{{ STATIC_URL }}admin/img/logo.jpg" />
</head>
<body>
</body>
</html>
然后我尝试访问包含default.html的页面,未显示logo.jpg。 它显示
所以静态文件夹可能没有正确链接到我的项目,我的问题是谁可以告诉我如何实现这个?
我应该在setting.py
(STATIC_ROOT,STATIC_URL,STATICFILES_DIRS),urls.py
中设置什么以及如何修改default.html
。请详细说明详细步骤。感谢
答案 0 :(得分:2)
我认为对于开发模式,您需要设置
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
和urls.py
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
要收集静止,您需要设置STATIC_ROOT,如:
STATIC_ROOT = os.path.join(PROJECT_ROOT, '..', 'static')