最近在看Django,被这个静态文件搞死了。找到了一个办法,环境是Django1.6,python2.7:
1、先保证INSTALLED_APPS中安装了'django.contrib.staticfiles'这个应用。
2、然后在settings.py里面添加最主要的两个配置:STATIC_URL和STATICFILES_DIRS。其中STATIC_URL是为了在页面中做到静态文件路径可配置,方便以后变更。
STATICFILES_DIRS设置的是静态文件的路径,注意是元组,如
STATIC_URL = '/media/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "liveproject/media/").replace("\\", "/"),
)
3、在模板中需要静态文件的地方加上如下,这里引用变量只是方便统一修改,直接使用对应的值也可以:
<script type="text/javascript" src="{{static_url}}js/jquery-1.7.2.min.js" ></script>
4、是视图函数中的处理如下:
from django.shortcuts import render, render_to_response
from models import Update
from settings import STATIC_URL
from django.http import HttpResponse
from django.core import serializers
def liveupdate(request, queryset):
static_url = STATIC_URL
object_list = queryset
return render_to_response("timestamp.html", locals())
之前还看到过很多使用直接在urls.py中配置url的方法,但感觉都这个简单。依赖django.contrib.staticfiles这个应用即可。