it-swarm.com.de

Collectstatic kann nicht ausgeführt werden

Ich bin neu bei Django! Wenn ich den Befehl python manage.py collectstatic verwende, erhalte ich diesen Fehler

Django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path

Ich kann den Server jedoch erfolgreich ausführen.

Meine statischen Dateien sind:

STATIC_ROOT = ''

STATIC_URL = '/static/'


STATICFILES_DIRS = (

    ('assets', os.path.join(PROJECT_DIR, '../static')),
)

und debug ist auf true gesetzt

DEBUG = True

Wie kann ich das beheben? Sonst fehlen Installationspakete?

52
user3383301

Versuche dies,

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')

Siehe https://docs.djangoproject.com/de/dev/ref/settings/#std:setting-STATIC_ROOT

105
dhana

Sie müssen in STATIC_ROOT in settings.py den Pfad angeben, in dem alle Ihre statischen Dateien gesammelt werden, beispielsweise: -

STATIC_ROOT = "app-root/repo/wsgi/static"

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    ('assets', 'app-root/repo/wsgi/openshift/static'),

    )
8
Sheesh Mohsin

sie können einen statischen Ordner in einem beliebigen Unterordner erstellen, in dem sich die erforderlichen Dateien befinden. Fügen Sie in settings.py die folgenden Codezeilen hinzu:

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

Nach dem Ausführen von python manage.py collectstatic wird ein neuer statischer Ordner in Ihrem übergeordneten App-Ordner erstellt

1
Mayur Raj
STATIC_ROOT = "/var/www/YourSiteFolder/static/"
STATIC_URL = '/static/'

siehe https://docs.djangoproject.com/de/1.11/howto/static-files/#deployment

0
Raoof Arakkal

Ich musste STATIC_ROOT und STATIC_URL über die STATICFILES_DIRS-Deklaration setzen.

0
ehacinom

hatte auch diesen Fehler. Ich habe es repariert:

STATIC_URL = '/static/'
if DEBUG:
   STATICFILES_DIRS = [
   os.path.join(BASE_DIR, 'static'),
   ]
else:
   STATIC_ROOT = os.path.join(BASE_DIR,'static')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
0
sebuhi