I have a really basic question. I'm trying to build some AJAX functionality into a Django project. I plan to use jQuery. Right now, I'm just running the code locally through Linux. I've been testing some code here so I'm reasonably certain that it works. But I'm having trouble figuring wh开发者_Go百科ere to put the jQuery source code in combination with my settings.
I downloaded jQuery and put it in what I think is my Media folder. My settings.py file reads as follows:
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'books/media/')<br>
MEDIA_URL = 'http://localhost:8000/books/media/'
In my html template, I'm referencing:
<script type="text/javascript" src="/media/js/jquery-1.4.2.min.js">
But none of my functions are working. I'm sure it's something stupid and obvious (though clearly not obvious to me). How do I correctly source jQuery?
You can hardcode the link as
<script type="text/javascript" src="/books/media/js/jquery-1.4.2.min.js">
or if you render your template with a RequestContext
and use the django.core.context_processors.media
context processor, then you can access MEDIA_URL
in your template.
<script type="text/javascript" src="{{ MEDIA_URL }}}js/jquery-1.4.2.min.js">
I believe you'll need src="/books/media/js/jquery-1.4.2.min.js"
Also, though, I do it thusly.
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4");
</script>
You need to setup Django to serve your media files (otherwise, serve them from a proper HTTP server). Add the following line to your url.py
:
(r'^mymedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
Make sure you change the mymedia
part to align with your media directory.
Can you try the following:
Access the URL
http://localhost:8000/books/media/js/jquery-1.4.2.min.js
using your browser orcurl
and see what turns up.Check your URL configuration to see that you have an URL defined for serving media using static serve.
Step1: put your jquery-2.0.3.js in the APP's "static" subfolder,like "books/static/jquery-2.0.3.js";
Step2: config your urls.py, add the following line:
r('^static/(?P<path>.*)$','django.views.static.serve'),
Step3: in your template file, use the js file as follows:
<script type="text/javascript" src="/static/jquery-2.0.3.js"></script>
That is all.
精彩评论