2016-04-02 9 views
0

Wie kann ich Dateien im STATIC_ROOT-Ordner anzeigen, wenn ich lokalen Server ausführen (./manage.py runserver 0.0.0.0: 8000)? Ich richte django-pipeline und collectstatic wie erwartet ein, indem ich die minimierte Datei in das Verzeichnis static_root lege. Allerdings läuft der Server und Zugriff auf minimierte Datei (in meinem Fall seine http://localhost:8000/static/filterpages/js/vendor.js) gibt mir 404 Seite nicht gefunden.Verwenden von Django-Pipeline lokal

Mein Verzeichnisbaum

django_project/ 
├── filter 
│   ├── __init__.py 
│   ├── settings.py 
│   ├── urls.py 
│   └── wsgi.py 
├── filterpages 
│   ├── admin.py 
│   ├── apps.py 
│   ├── __init__.py 
│   ├── migrations 
│   ├── models.py 
│   ├── static 
│   │   └── filterpages 
│   │    ├── js 
│   │    └── vendor 
│   │     ├── bootstrap.min.js 
│   │     └── jquery-2.2.2.min.js 
│   ├── templates 
│   │   └── filterpages 
│   │    ├── index.html 
│   ├── templatetags 
│   ├── tests.py 
│   ├── urls.py 
│   └── views.py 
├── manage.py 
└── staticfiles 
    ├── admin 
    └── filterpages 
     ├── js 
     │   ├── vendor.6238a90960e0.js 
     │   └── vendor.js 
     └── vendor 
      ├── bootstrap.min.c5b5b2fa19bd.js 
      ├── bootstrap.min.js 
      ├── jquery-2.2.2.min.1d35678c5edb.js 
      └── jquery-2.2.2.min.js 

Mein settings.py

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

STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage' 

STATICFILES_DIRS = [] 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    'pipeline.finders.CachedFileFinder', 
    'pipeline.finders.PipelineFinder', 
    'pipeline.finders.FileSystemFinder', 
) 

PIPELINE = { 
    'PIPELINE_ENABLED': True, 
    'JAVASCRIPT': { 
     'vendor': { 
      'source_filenames': (
       'filterpages/vendor/jquery.min.js', 
       'filterpages/vendor/bootstrap.min.js', 
      ), 
      'output_filename': 'filterpages/js/vendor.js', 
     } 
    } 
} 

PIPELINE['JS_COMPRESSOR'] = 'pipeline.compressors.yuglify.YuglifyCompressor' 
+0

ich auf halbem Weg das Problem gelöst. Wenn ich STATIC_ROOT lösche und STATICFILES_DIRS auf 'staticfiles' setze, kann ich auf die statische Datei im Browser zugreifen. Der Befehl collectstatic funktioniert jedoch nicht mehr, da STATIC_ROOT gesetzt werden muss. – Dmitry

Antwort

0

Sie können meine Art und Weise versuchen. In url.py (Root-URL, place im selben Verzeichnis mit der Datei settings.py).

from django.conf.urls.static import static 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

Und Server neu starten und versuchen Sie es erneut Zugang js Datei

+0

habe es versucht aber trotzdem die Seite nicht gefunden – Dmitry