2016-05-16 23 views
0

Ich versuche processing.js auf meiner Website zu verwenden, aber ich halte den Fehler bekommen: „processing.min.js Ressource laden fehlgeschlagen: der Server mit einem Status von 404 reagiert (nicht gefunden)“Warum kann ich eine Processing.js-Skizze nicht mit Flask laden?

ich verwende render_template der Flasche() im test.html zu laden:

<!doctype html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Processing.js</title> 
    <script src="processing.min.js"></script> 
    </head> 
    <body> 
    <h1>Processing.js</h1> 
    <script type="text/processing"> 
    void setup() { 
     size(400,200); 
     textAlign(CENTER, CENTER); 
     background(0,0,100); 
     fill(255,230,75); 
     text("Processing.js", width/2, height/2); 
     noLoop(); 
     } 

     void draw() { 
     } 

     void mouseMoved() { 
     stroke(255); 
     point(mouseX, mouseY); 
     redraw(); 
     } 

     void mousePressed() { 
     line(0,mouseY,width,mouseY); 
     line(mouseX,0,mouseX,height); 
     println(mouseX, mouseY); 
     } 
    </script> 
    <canvas></canvas> 
    </body> 
</html> 

die Kolben-Datei, die ich dann läuft einfach ist:

from flask import Flask,request,render_template 
app = Flask(__name__) 

@app.route("/") 
def hello(): 

    return render_template('test.html') 

if __name__ == '__main__': 
    app.debug = True 
    app.run() 

Wenn ich dies auf dem lokalen Host ausführen: http://127.0.0.1:5000/ Ich sehe die Kopfzeile Processing.js, aber keine tatsächlichen Canvas-Element.

+0

Vorausgesetzt, dass alle Flask tut, dient die beiden Dateien, funktioniert das, wenn Sie die Dateien ohne Flask dienen? Außerdem würden Sie nicht mit statischen Dateien verknüpfen, Sie würden 'url_for ('static', filename = 'processing.min.js')' verwenden. – davidism

+0

Hey @davidism, was meinst du ohne Flask dienen? Ich bin neu in all dem, und ich habe nur Erfahrung mit Flask als Backend-Framework. – sam

+0

Ich erhalte immer noch diese 404 nicht gefundenen Nachrichten. Ich habe processing.js in meinem "static" -Ordner, die test.html-Vorlage im "templates" -Ordner und die main.py-Flask-Datei außerhalb von ihnen. GET http://127.0.0.1:5000/processing.js GET http://127.0.0.1:5000/url_for('static',%20filename='processing.js ') 404 Nicht gefunden – sam

Antwort

0

Nach Flask docs

Dynamic web applications also need static files. That’s usually where the CSS and JavaScript files are coming from. Ideally your web server is configured to serve them for you, but during development Flask can do that as well. Just create a folder called static in your package or next to your module and it will be available at /static on the application.

Und als davidism kommentiert, verwenden Sie die url_for Template-Methode Dateien zu referenzieren

<script type="text/javascript" src="url_for('static', filename='processing.js')"></script> 

Unter der Annahme, dass Ihre statischen Dateien (js und css) in statisch sind Mappe.