2017-08-09 2 views
0

Meine statische Dateien funktionieren gut, aber meine Medien haben ein Problem. Ich habe meine Website bereits in heroku eingerichtet und sie ist online in Produktion. (DEBUG = False) Blick auf den Code:Django - Medien in der Produktion funktioniert nicht

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
DEBUG = bool(os.environ.get('DJANGO_DEBUG', True)) 
STATIC_URL = '/static/' 
STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, "static"), 
    # '/var/www/static/' 
] 
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 
MEDIA_ROOT = os.path.join(BASE_DIR, "media") 
MEDIA_URL = '/media/' 
import dj_database_url 
db_from_env = dj_database_url.config(conn_max_age=500) 
DATABASES['default'].update(db_from_env) 
STATICFILES_STORAGE = 
'whitenoise.storage.CompressedManifestStaticFilesStorage' 

urls.py

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, 
document_root=settings.STATIC_ROOT) 
    urlpatterns += static(settings.MEDIA_URL, 
document_root=settings.MEDIA_ROOT) 

models.py

cartaz = models.FileField(default='/static/images/logo.jpg') 

index.html

<img src="{{campeonato.cartaz.url}}" class="img-responsive"> 

My Github repository

Hier ist das Problem, ich war ein Bild im Admin-Bereich hochladen und es funktioniert dann gut, aber plötzlich nach ein paar Minuten das Bild von der Website verschwunden und ich bekam die folgende Fehlermeldung:

Not Found:/media/tdscampeonatos_rzFCbET.jpg 

Dann habe ich ein Medienarchiv in meinem Projekt in github mit den Bildern, die ich hochgeladen habe:

My Github repository after I added the media

Dann funktionierten die Bilder, die ich zum Medien-Repository hinzugefügt hatte, aber die, die ich nicht hinzugefügt hatte, funktionierten immer noch nicht. Ich habe ein paar mehr Bilder hochgeladen und ich habe den gleichen Fehler, weil die Bilder nicht direkt zu dem Medienpfad gingen, den ich im Github-Repository erstellt hatte. 5 Tage versucht, das zu beheben, suchte ich schon fast alles im Internet. Bitte hilf mir!

Antwort

0

Sie implementieren auf Heroku. Wahrscheinlich der Hobbyplan. Bei diesem Plan wird die App in den Ruhezustand versetzt, wenn sie nicht aktiv ist, und dann bei einem erneuten Zugriff neu implementiert. So kann die Mediendateien im letzten Laufe gelöscht werden

erstellt

Sie sollen Ihren Plan aktualisieren oder prüfen, einen Dritten Speicher wie cloudinary mit den Medien auf einem voll bezahlten Plan

+1

Auch zu speichern, können Sie nicht und dürfen nicht speichern benutzerspezifische hochgeladen Assets auf dem Heroku-Dateisystem. –

Verwandte Themen