Django是非常轻量级的Web框架,今天散仙来看下如何在Django中配置静态的资源访问路径,一个中等规模的网站,可能就会有很多静态的资源需要访问,无论是html,txt,还是压缩包,有时候访问这些资源我们并不需要过多的限制,所以任由用户访问,这时我们就没必要在加一个request请求,转发或重定向访问,我们可以直接使用Django的静态资源访问策略。
默认在django里是不支持静态资源访问的,我们需要稍微配置映射才可以。
(1)确认你的INSTALLED_APPS里面有'django.contrib.staticfiles'静态资源配置。
INSTALLED_APPS = ('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','stapp',#app1'twapp',#app2)
(2)在url里面,加上静态文件映射:
from django.conf import settingsfrom django.conf.urls.static import staticurlpatterns = patterns('',# Examples:# url(r'^$', 'ManagerSystem.views.home', name='home'),# url(r'^blog/', include('blog.urls')),#admin界面的映射url(r'^admin/', include(admin.site.urls)),#hello world的映射url(r'^hello/$',hello), #twapp的映射url(r'^tt/$',tt),#配置静态资源映射)+static(settings.STATIC_URL)
注意上面的最后一句话是重点
3,在对应的app下,新建一个static的文件夹,如果不想叫static这个文件夹名,可以对应在setting.py里面修改下面的参数即可
STATIC_URL = '/static/'
4,然后在static目录下,放一些静态文件,即可访问,测试如下,
5,至此,已经大功告成,当然如果你想下载文件的话,需要上传压缩包的形式才可以直接通过浏览器下载。
最后需要注意的是,关于Django的项目设置,我们都知道一个django项目可以可以由多个app组成,当然,一个app也可以被多个django项目共享,默认的情况下所有的模板文件盒静态文件是所有的app共享的,但是有时候我们为了,更加清晰的区分那个资源,属于哪个项目的,应该怎么做,其实这个问题很简单,我们只需要通过约定来完成这件事情就可以,在模板文件下建多个文件夹,每一个项目单独使用即可,对于静态文件也一样,我们不能给每个app定义一个不用的文件夹,因为他们的父目录必须是跟配置文件里的一样,所以我们可以在static/目录下,再新建多个文件夹区分即可。