Flask Application - How to link a javascript file

2019-01-25 09:40发布

I am having some trouble getting started with using javascript files on my website (A Flask application). I start the website by running run.py which looks like this:

#!flask/bin/python
from app import app
app.run(debug=True)

In my html page I have the following code which gives a 404 error:

404 error

Error message:

error message

My file structure looks like this:

file structure

Any hints to where I'm going wrong?

4条回答
孤傲高冷的网名
2楼-- · 2019-01-25 10:12

So your index.html is at app/templates/index.html, and your jQuery is at app/javascript/jQuery.js right?

I think your path is wrong. Try this:

<script src="../javascript/jquery.js"></script>
查看更多
孤傲高冷的网名
3楼-- · 2019-01-25 10:24

Try using src="app/javascript/jquery.js".

Also, I noticed you include jquery.js twice - on line 7 and 28.

查看更多
太酷不给撩
4楼-- · 2019-01-25 10:26

Ah yes, luckily I am currently developing a flask application at the moment.

You are currently missing the static folder which by default flask looks into, a folder structure something like this:

|FlaskApp
----|FlaskApp
--------|templates
        - html files are here
--------|static
        - css and javascript files are here

Two important default folders that Flask will look into templates and static. Once you got that sorted you use this to link up with your javascript files from your html page:

<script src="{{url_for('static', filename='somejavascriptfile.js')}}"></script>

Hope that helps any questions just ask.

Plus - A good article to read but not super related but it talks about the folder structure of flask is this: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

查看更多
Explosion°爆炸
5楼-- · 2019-01-25 10:29

Here is what helped me eliminate the jquery part of my Flask project

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>

This was taken straight from Basic Template found in http://getbootstrap.com/getting-started/

查看更多
登录 后发表回答