2013-10-29 3 views
0

.css 및 .js 파일을로드 할 수 없습니다. 이것은 서버에서 출력으로 얻는 것입니다.STATIC_URL Django 1.5 작동하지 않음

[29/Oct/2013 11:33:26] "GET /static/srt/css/django-admin-widgets.css HTTP/1.1"404 1700

[29// 2013 10월 11시 33분 26초] "GET /static/srt/js/django-admin.multiselect.js HTTP/1.1"404 1706

settings.py :

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media') 
MEDIA_URL = '/media/' 
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static') 
STATIC_URL = '/static/' 
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'staticfiles'), 
) 

urls.py :

urlpatterns = patterns('', 
# Examples: 
# url(r'^$', 'srt_project.views.home', name='home'), 
# url(r'^srt_project/', include('srt_project.foo.urls')), 

# Uncomment the admin/doc line below to enable admin documentation: 
url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
url(r'^accounts/', include('registration.backends.default.urls')), 
# Uncomment the next line to enable the admin: 
url(r'^admin/', include(admin.site.urls)), 
# url(r'^accounts/', include('registration.urls')), 

url(r'^srt/', include('srt.urls', app_name='srt')), 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

urlpatterns += staticfiles_urlpatterns() 

site_base.html

{% load static from staticfiles%} 
<!DOCTYPE html> 
<html> 
<head> 
    <title>Status Reporting Tool</title> 
    <link rel="stylesheet" type="text/css" href="{% static 'srt/css/django-admin-widgets.css' %}" /> 
    <script type="text/javascript" src="{% static 'srt/js/django-admin.multiselect.js' %}"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
    <script> 
     jQuery.each($("select[multiple]"), function() { 
     // "Locations" can be any label you want 
     SelectFilter.init(this.id, "Viewers", 0, "/static/srt/"); 
     }); 
    </script> 

디렉토리 구조 : 여기

.---srt_project 
| manage.py 
|     
+---srt 
| | admin.py 
| | forms.py 
| | models.py 
| | tables.py 
| | tests.py 
| | urls.py 
| | views.py 
| | __init__.py 
|    
\---srt_project 
    | settings.py 
    | srt_project.sqlite 
    | urls.py 
    | wsgi.py 
    | __init__.py 
    | 
    \---static 
     \---srt 
      +---css 
      |  django-admin-widgets.css 
      |  
      \---js 
        django-admin.multiselect.js 
+0

귀하의 웹 서버는 정적 파일을 처리해야합니다. htacess 또는 서버 conf에 별칭을 넣어 정적 파일을 제공 할 수 있습니다. – Jingo

+1

@Jingo 나는 그것이 문제라고 생각하지 않는다. DEBUG = True 인 개발 서버에서 실행하고 있습니다. From docs : "이러한 구성 단계 외에도 실제로 정적 파일을 제공해야합니다. 개발 중에는 runserver를 사용하고 DEBUG가 True로 설정된 경우 자동으로 수행됩니다 (django.contrib 참조). 이 방법은 매우 비효율적이며 안전하지 않을 수 있으므로 프로덕션에는 적합하지 않습니다. " – Hec

+0

그것이 저의 요점입니다. runserver 명령을 사용하고 있다면 개발 서버가 자동으로 파일을 제공합니다. 그래서 네가 의미하는 바를 정확히 모르겠다. 너 좀 정교 할 수 있니? – Hec

답변

1

확인 .js와 .css 파일에 304가 표시되므로 수정 한 것처럼 보입니다. 내 안의 srt_project 디렉토리에서 내 폴더 이름을 'staticfiles'에서 'staticfiles'로 변경해야했습니다.

[29/Oct/2013 12:50:48] "GET /static/srt/css/django-admin-widgets.css HTTP/1.1" 304 0 
[29/Oct/2013 12:50:48] "GET /static/srt/js/django-admin.multiselect.js HTTP/1.1" 304 0 

누군가가 그것을 설명 시겠어요 :이 방법으로 나에게 어떤 의미가되지 않지만 '정적'지금 'staticfiles'인 경우이 가능하다?

+1

정확히'collectstatic'을 실행했기 때문에 모든 것을 정적 파일에 복사합니다. 그러나 개발에 필요하지 않아야한다고 말하는 것은 맞습니다. –

2

는 것들의 목록이 확인된다 :

  • 당신은 INSTALLED_APPS에서 django.contrib.staticfiles을 포함나요

    ?
  • srtINSTALLED_APPS에 포함 시켰습니까?
  • DEBUG = True 또는 False입니까? False 인 경우 staticfiles_urlpatterns은 작동하지 않습니다.
  • (배포 중) python manage.py collectstatic을 실행 했습니까?
+0

감사합니다. 시므온. django.contrib.staticfiles 및 srt는 INSTALLED_APPS에 포함되어 있습니다. DEBUG = 참. 아직 배포하지 않았으며 localhost에서 개발로 실행했습니다. 내부 srt_project 폴더에 빈 폴더 staticfiles를 작성하여 collectstatic을 실행해야했습니다. 그게 무슨 짓을했는지 모르겠다. 파일들을 복사 해 놓았다. 나는 개발 과정에서 어떤 차이가있을 것이라고 생각하지 않지만, 확실하지는 않다. – Hec