2012-05-19 2 views
1

Django를 좋아하지만 개발시 제공된 정적 파일을 얻는 것은 고통 스럽습니다. 작업을 쉽게하기 위해 웹 세트를 설치했습니다. 기본적으로 내 자산은 현재 구성에서 404'ing이지만 관리 자산은 괜찮습니다 (?!). 내 프로젝트 레이아웃은 다음과 같습니다. 나는 다음과 같은 값이 Django 1.4를 사용하여 디버그에서 정적 파일을 처리하는 것은 매우 실망 스럽습니다

__DIR__ = os.path.abspath(os.path.dirname(__file__)) 
MEDIA_ROOT = os.path.join(__DIR__, 'media') 
MEDIA_URL = '/media/' 
STATIC_ROOT = os.path.join(__DIR__, 'public') 
STATIC_URL = '/static/' 

내 URL을

을 설정 한 내 설정에서

myapp/ 
    common/ 
     static/ 
      bootstrap/ 
       img/ 
       less/ 
       js/ 
     templates/ 
     __init__.py 
     assets.py 
     urls.py 
     models.py 
     views.py 
    projects/ 
     templates/ 
     static/ 
     __init__.py 
     assets.py 
     urls.py 
     models.py 
     views.py 
    public/ <- (static files collected here) 
settings.py 

은 다음과 같이 구성되어 있습니다;

urlpatterns = patterns('', 
    url(r'^projects/', include('myapp.projects.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', include('myapp.common.urls')), 
) 

urlpatterns += staticfiles_urlpatterns() 

다시 말해서 assets.py는 꽤 표준적인 것처럼 보입니다.

from django_assets import register, Bundle 

js = Bundle(
    'bootstrap/js/bootstrap-alert.js', 
    'bootstrap/js/bootstrap-button.js', 
    'bootstrap/js/bootstrap-carousel.js', 
    'bootstrap/js/bootstrap-collapse.js', 
    'bootstrap/js/bootstrap-modal.js', 
    'bootstrap/js/bootstrap-popover.js', 
    'bootstrap/js/bootstrap-scrollspy.js', 
    'bootstrap/js/bootstrap-tab.js', 
    'bootstrap/js/bootstrap-tooltip.js', 
    'bootstrap/js/bootstrap-transition.js', 
    'bootstrap/js/bootstrap-typeahead.js', 
    output='bootstrap/script.js', 
    debug=False 
) 

register('js', js) 

내 기본 템플릿은 매우 기본입니다. 의 runserver가 실행 중일 때

{% load assets %} 
{% assets 'js' %} 
    <script type="text/javascript" src="{{ ASSET_URL }}"></script> 
{% endassets %} 

그래서, 모든 JS 파일은 다음 URL http://localhost:8000/static/bootstrap/script.js?ed501ad2로 한 태그에 번들로 제공됩니다. 그러나 "bootstrap/script.js '메시지를 찾을 수 없습니다."

그러나 나는/admin 응용 프로그램에 로그인하면 모든 CSS 자산이 올바르게 렌더링됩니다. collectstatic을 실행하고 자산이 실제로 public/ 디렉토리 내에 있는지 확인합니다.

무엇이 여기에 있습니까?

답변

3

STATICFILES_FINDERS에 django-assets 문서에 필요에 따라 django_assets.finders.AssetsFinder을 추가 했습니까?

http://elsdoerfer.name/docs/webassets/django/index.html

+0

대단히 감사합니다. 나는 그것을 깨닫지 못했다. 나는 교훈을 더 자세히 읽어야한다! – Kevin

+4

클로드 : 나는 그런 의견이 도움이된다고 생각하지 않습니다. 장고 커뮤니티를 환영하지 않습니다. – dannyroa

+2

Danny, 맞습니다.하지만 처음에는 문서를 읽거나 인터넷 검색을하지 않고 질문을 게시하는 사람들과 분노하기 시작합니다. 나는 이것이 이것이 SO 사회에 좋다고 생각하지 않는다. 직업적인 환경에서 누군가는 그 같은 질문을 주변에 묻기 부끄럽게 여기고 그의 동료 시간을 낭비하기 전에 실제로 그의 숙제를 할 것입니다, 나는 그것이 여기에서 동일을하는 곳에 어디에서 ok인지 보지 않는다. –