2014-05-02 67 views
0

我刚开始使用Django 1.6和我的CSS不工作既不是我的图片,我得到一个404错误,即使管理员(一个或多个CSS不工作静态文件未找到

这里是我的文件结构:

myproject 
--myproject 
----templates 
--static 
----css 
----media 
--myapp 
--mp.db 
--manage.py 

这是我base.html文件:

<link rel="image_src" href="{% block image_src %}http://{{ request.META.HTTP_HOST }}/static/images/logo.png{% endblock %}" /> 
<link rel="stylesheet" media="screen" href="{{ STATIC_URL }}css/utils.css"> 
<link rel="stylesheet" media="screen" href="{{ STATIC_URL }}css/{% block style_link %}style{% endblock %}.css"> 
    ... 
<div id="cont_footer" class="container centerAuto"> 
<img src="{{ MEDIA_URL }}images/logo_footer.png" alt="" /> 
</div> 

这是我的设置:

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 = (
    os.path.join(PROJECT_ROOT, 'static/'), 
) 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
) 
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth', 
    'django.core.context_processors.static', 
) 
MEDIA_URL = STATIC_URL +'media/' 
MEDIA_ROOT = os.path.join(PROJECT_ROOT, *MEDIA_URL.strip("/").split("/")) 

在urls.py:

urlpatterns = patterns('', 
url(r'^$', TemplateView.as_view(template_name='index.html'), name="index"), 
    url(r'^admin/', include(admin.site.urls)), 
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

什么我做错了,我拉我的头发了,因为这个,因为已经三天!

感谢

回答

0

新建文件夹在你的项目的根在那里settings.py存在

在settings.py

STATIC_ROOT = os.path.join(PROJECT_DIR,'static') 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
       os.path.join(PROJECT_DIR,'static'), 
) 
TEMPLATE_DIRS = (
       os.path.join(PROJECT_DIR,'template'), 
) 

在base.html文件

<link rel="stylesheet" type="text/css" href="{% static 'css/demo.css' %}" /> 

<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script> 

“静态”在其他模板文件中,您可以使用base.html

{% extends "base.html" %} 
{% load static %} 


<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script> 


<div id="yourID" class="yourClass"> 
    <img src="{% static "images/something.gif" %}" alt="something" > 
</div> 

urls.py

from django.conf.urls import patterns, include, url 
from wepl.views import home 
from django.conf.urls.static import static 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from myApp import settings 
from django.views.generic.base import TemplateView 
from views import * 

urlpatterns = patterns('', 
    url(r'^$', 'myApp.views.home', name='home'), 

    ) 

urlpatterns += staticfiles_urlpatterns() 
+0

我的静态文件夹是根,因为我在我的问题提到的,我做你建议的修改,但它仍然没有工作!我做错了什么?因为这两天,我正在拉我的头发! – Armance