要在django的模板中引用css、js、image等静态文件,首先将settings.py中DEBUG设为True。
1.在project目录下建立一个存放静态文件的目录,如:static
2.在urls.py的patterns中增加一行:
(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':'静态文件目录'}),
表示如果遇到/static/路径,就往该目录里查找文件。
一个使用静态文件的例子:
<script src='/static/jquery.js'></script>
目前这种方法只在生产环境下试过能够使用,而且还并不是个好方法。
如果是调试环境(使用django服务器),可以这样做:
在settings.py文件中找到STATICFILES_DIRS,往里添加静态文件的目录。比如:
#Additional locations of static files
STATICFILES_DIRS= (
#Put strings here, like "/home/html/static" or"C:/www/django/static".
#Always use forward slashes, even on Windows.
#Don't forget to use absolute paths, not relative paths.
'/home/michael/workspace/web/djcode/mysite/static',
)
这样就算把上面的第二步删掉依然可以使用静态文件,载入方法跟前面一样。
如果想使用相对路径,可以将路径替换为os.path.join(os.path.dirname(__file__), 'static').replace('\\','/'),这样就必须将静态文件目录放在settings.py所在的目录下。
上面这种方法在Windows下不可以,当时我就是没办法才转到ubuntu下,如果用什么办法可以的,请好心告诉我一声。