Python django不提供静态文件
我使用的是Python django不提供静态文件,python,django,Python,Django,我使用的是Django==1.5.5,我的Django应用程序的结构如下 --project/ ----project/ ------settings.py ------urls.py ----app1/ ------models.py ------views.py ----staticfiles/ ------style.css ----static/ ------admin/ --------js/ --------css/ ------style.css ----templates/ --
Django==1.5.5
,我的Django应用程序的结构如下
--project/
----project/
------settings.py
------urls.py
----app1/
------models.py
------views.py
----staticfiles/
------style.css
----static/
------admin/
--------js/
--------css/
------style.css
----templates/
------header.html
------post.html
------footer.html
----manage.py
/project/settings.py
是
import os
DEBUG = False
TEMPLATE_DEBUG = DEBUG
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
MEDIA_ROOT = ''
MEDIA_URL = ''
SITE_ROOT = PROJECT_ROOT
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(SITE_ROOT, 'staticfiles'),
)
TEMPLATE_DIRS = (
os.path.join(SITE_ROOT, 'templates'),
)
在header.html
中,我尝试将其用作:
<head>
<title>My Site</title>
{% load static from staticfiles %}
<link rel="stylesheet" href="{% static 'style.css' %}">
</head>
我的网站
{%load static from staticfiles%}
但是它没有加载mysite.com/static/style.css,并且给出错误404
我运行了python manage.py collectstatic
来收集所有静态文件
为什么要加载css文件?缺少任何配置吗
请建议。按照正确的方式加载静态文件是
{% load staticfiles %}
<img src="{% static 'my_app/myexample.jpg' %}" alt="My image"/>
{%load staticfiles%}
这会起作用的我有同样的问题,我发现没有一个答案有效。 事实证明,要使静态文件正常工作,必须正确设置几个部分。 注意:我使用的是django 1.6,此解决方案用于开发而不是部署 设置静态文件目录
django-admin.py startproject $site_name
mkdir $site_name/static
mkdir $site_name/static/css
mkdir $site_name/static/javascript
mkdir $site_name/static/images
你的文件夹应该是这样的
$site_name/
manage.py
$site_name/
__init__.py
settings.py
urls.py
wsgi.py
static/
css/
javascript
images/
编辑$site\u name/$site\u name/setting.py文件并添加
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS =( os.path.join(STATIC_ROOT, 'css/'),
os.path.join(STATIC_ROOT, 'javascript/'),
os.path.join(STATIC_ROOT, 'images/')
)
编辑$site\u name/$site\u name/url.py并添加
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
使用静态URL
{% load staticfiles %}
<a href="{% static "banner.png" %}">
{%load staticfiles%}
仅用于开发。在settings.py文件中设置DEBUG=True,并在已安装的应用程序中添加“django.contrib.staticfiles”。
接下来,将以下代码行添加到项目的settings.py文件中:
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
您是通过内部开发服务器运行django,还是通过作为nginx或apache的Web服务器运行django?您是否正在转向生产?当
DEBUG=False
时,您需要自己处理静态文件。只有当DEBUG=True
时,django才会为您处理静态文件。@BurhanKhalid有什么建议吗?请参阅;如果您处于开发模式(使用runserver
),则设置DEBUG=True
。我的静态文件不在myu应用程序中