2016-10-13 5 views
0

Ich versuche, eine .json Datei aus meiner Flasche Anwendung zu lesen, mit:Lesen einer .json Datei mit Python - Flask

def renderblog(): 
    with open(url_for("static", filename="blogs.json")) as blog_file: 
     data = json.load(blog_file) 

Jedoch habe ich den Fehler:

FileNotFoundError: [Errno 2] No such file or directory: '/static/blogs.json' 

I Now Tatsache ist, dass das Verzeichnis in meiner Projektstruktur existiert, aber ich habe keine Ahnung, warum ich diesen Fehler bekomme. Irgendwelche Ideen? Gibt es eine spezielle Möglichkeit, .json in Flask abzurufen?

+0

Können Sie Ihr Verzeichnis Skelett mit uns teilen. – RockOnGom

+2

'url_for()' gibt Ihnen einen ** URL-Pfad **, kein Dateipfad. –

+0

Wenn ich 'mit open ("/static/blogs.json ") als blog_file:' oder etwas ähnliches benutze bekomme ich die gleiche Antwort –

Antwort

7

Sie haben einen URL-Pfad generiert, keinen Pfad zum lokalen statischen Ordner. Verwenden Sie stattdessen die app.static_folder attribute:

def renderblog(): 
    filename = os.path.join(app.static_folder, 'blogs.json') 
    with open(filename) as blog_file: 
     data = json.load(blog_file) 
+0

Das funktioniert wirklich für mich. Ich möchte auch JSON-Daten zurück zu der gleichen '.json' Datei. Wie geht das? –