2016-06-15 24 views
1

Ich kann meine statischen Dateien wie CSS, JS und Bild nicht finden. Ich bekomme 404 Fehlerseite.Statische Dateien auf OpenShift mit Django

In meinen Einstellungen django Ich habe

STATIC_ROOT = '/var/lib/openshift/*id*/app-root/repo/*project*/*app*' 
STATIC_URL = '/static/' 

und mein Dateisystem ist

- project 
    - app 
    - wsgi.py 
    - statiC# I also tried to move this folder in wsgi folder 
     - css 
     - base.css 
    - ... 

Ich versuchte, die statischen Ordner in wsgi Ordnern vor erstellt zu bewegen. Ich habe auch versucht, mein statischer Ordner oder wsgi Ordner in Daten Ordner von openshift ohne Erfolg zu bewegen.

Ich folge wenige Hilfe Beiträge von Stackoverflow ohne fand meine Antwort

Können Sie mir helfen, meine statischen Ordner zu konfigurieren?

Dank

+0

Kann ich etwas in .htaccess schreiben? – general03

+0

Was ist die Apache-Konfiguration für statische Ordner? Dieser Ort ist in Apache behoben? – general03

Antwort

0

Im wsgi.py I sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'])) os.environ['DJANGO_SETTINGS_MODULE' ] = 'project.settings.app' und in meinem settings.py haben sein müssen STATIC_ROOT = os.path.join(os.getenv('OPENSHIFT_REPO_DIR'), 'wsgi/static',) STATIC_URL = '/static/' Und das Dateisystem von meiner Website repo project ... wsgi static wsgi.py

0

in Ihrem settings.py stellen Sie sicher, Sie haben:

import os 
import sys 

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 


STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static_files'), 
        ) # create static_files dir and place there your static 
         # files to be collected, as static is the destination 
         # directory of your local and other Django 
         # modules static files 

STATIC_ROOT = os.path.join(BASE_DIR, 'static',) 
STATIC_URL = 'http://yourdomain.com/static/' 

einmal

./manage.py collectstatic 

stellen Sie sicher, Baum haben laufen getan wie

yourproject+ 
      | 
      +-yourproject 
      |   | 
      |   +urls.py 
      |   | 
      |   +settings.py 
      |   | 
      |   +wsgi.py 
      | 
      +manage.py 
      | 
      +static_files 
      | 
      +static 
+0

Ich habe versucht, Ihre Post @ dmitryro, aber es löst nicht mein Problem – general03

+0

Bitte aktualisieren Sie Ihre wsgi.py und manage.py und sehen, welche spezifischen Fehlermeldungen Sie erhalten, wenn amy – dmitryro

0

Sie muss auch sicherstellen, yo ur manage.py wird so modifiziert:

import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

und wsgi.py

import os 

from django.core.wsgi import get_wsgi_application 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings") 

application = get_wsgi_application() 
+0

Meine ** wsgi.py ist gut **. Ich muss './manage.py collectstatic' nicht verwenden, wenn mein statischer Ordner bereits voll ist? – general03

+0

Sie müssen es als statisch verwenden, wo Dateien TAKEN sind, nicht wo sie ursprünglich platziert wurden. Die Philosophie von Django, Dateien von allen bekannten Orten in Ihrem Betriebssystem zu sammeln und sie in statische Daten zu setzen. – dmitryro

+0

STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder ', ] # Dies wird von Django verwendet, um statische Dateien zu überprüfen und in STATIC_ROOT zu setzen. – dmitryro