AttributeError: l'objet 'tuple' n'a aucun attribut 'startswith'
Complètement nouveau pour le codage, désolé pour les questions simples. Je suis de cet attribut d'erreur lors de l'exécution de python manage.py collectstatic
. Je suis en train de modifier settings.py
. J'ai Django 1.5.1 et Python 2.7.5. Toute aide est la bienvenue et merci d'avance (encore une fois).
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 61, in isabs
return s.startswith('/')
AttributeError: 'tuple' object has no attribute 'startswith'
Maintenant, bien sûr, je n'ai jamais testé avec posixpath.py
.
voici le contenu de settings.py
(moins de db info):
MEDIA_ROOT = "os.path.join(os.path.dirname(os.path.dirname(__file___))", "static", "media"
MEDIA_URL = '/media/'
STATIC_ROOT = "os.path.join(os.path.dirname(os.path.dirname(__file__))", "static", "static-only"
STATIC_URL = '/static/'
STATICFILES_DIRS = (
"os.path.join(os.path.dirname(os.path.dirname(__file__))", "static", "static",
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
SECRET_KEY = 'xxxxxxxxx'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'mvp_landing.urls'
WSGI_APPLICATION = 'mvp_landing.wsgi.application'
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "templates",
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'south',
'join',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
source d'informationauteur Chris K
Vous devez vous connecter pour publier un commentaire.
Vous faire de mal. Vous ne devriez pas tourner votre code entre guillemets. Regardez ici la façon dont il devrait être
Il devrait ressembler à:
Aussi il appartient à votre
MEDIA_ROOT
etSTATIC_ROOT
paramètres.@chris
STATIC_ROOT et MEDIA_ROOTS sont des chemins absolus et qu'ils ne peuvent pas être tuples donc pas de ","(virgule) est autorisé,
Donc mentionner le chemin d'accès absolu "/votre/static fichier/chemin/chemin/absolu"
Espère que cela aidera 🙂
Veuillez Retirer la virgule à la fin de la racine Statique
Résumé
Si vous êtes nouveau à Django (comme je suis) et de rencontrer ce genre de problème, je recommande à la recherche sur le livre Deux Cuillères de Django, en particulier, ils ont une GitHub modèle avec une bonne application de mise en page ici. En particulier, vous voulez regarder:
Octotree (Facultatif)
Comme une note de côté, si vous utilisez GitHub comme source de contrôle, je conseille vivement de prendre cette extension Chrome appelé Octotree disponible ici. Cela vous permet d'afficher le dossier de mise en forme de tout dépôt GitHub.