django 静态文件 django 资源文件 Python web 引入 导入 静态资源文件 静态文件 资源文件 图片 js css 路径配置
项目目录结构如下:模板和资源文件按照应用分割开来
ProjectTest
----------ProjectTest #项目主程序
--------------------templates
-----------------------------apptest
------------------------------------index.html
--------------------__init__.py
--------------------settings.py
--------------------views.py
--------------------urls.py
--------------------wsgi.py
----------apptest #另外一个APP
-------------------__init__.py
-------------------models.py
-------------------views.py
----------resources #直接放这,再不用收集了
------------------apptest
-------------------------js
-------------------------css
-------------------------images
不想像django那样把每个App的静态文件都写到每个app的static目录下面,然后系统会自己找,习惯了java web的那种一个项目的所有的资源文件都搞到一个目录,
下面是配置方式:
方式一:路径固定写死
##--------------- settings.py------------------
STATIC_URL = '/resources/'
STATICFILES_DIRS = ( os.path.join(os.path.dirname(__file__),'../resources/').replace("\\",'/'),#逗号别丢
)
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '../templates/apptest').replace('\\','/'),
)
INSTALLED_APPS = (
'apptest',
)
##--------------- settings.py------------------
##------------------------------urls.py----------------------
url(r'^$','apptest.views.index'),
url(r'^index$','apptest.views.index')
##-----------------------------urls.py------------------------
##----------------index.html------------------
<link href="/resources/apptest/css/xxxx.css" rel="stylesheet" type="text/css" />
<script src="/resources/apptest/js/xxxx.js" type="text/javascript"></script>
##----------------index.html------------------
##------------------views.py----------------------
from django.shortcuts import render_to_response
from django.template import RequestContext
def index(request,template_name="index.html"):
return render_to_response(template_name,{},context_instance=RequestContext(request))
##------------------views.py----------------------
方式二: 路径引用setting配置
##--------------- settings.py------------------
STATIC_URL = '/resources/'
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__),'../resources/').replace(""),
)
INSTALLED_APPS = (
'apptest',
)
##--------------- settings.py------------------
##------------------------------urls.py----------------------
url(r'^$','apptest.views.index'),
url(r'^index$','apptest.views.index')
##-----------------------------urls.py------------------------
##----------------index.html------------------
<link href="{{STATIC_URL}}apptest/css/xxxx.css" rel="stylesheet" type="text/css" />
<script src="{{STATIC_URL}}apptest/js/xxxx.js" type="text/javascript"></script>
##----------------index.html------------------
##------------------views.py----------------------
from django.shortcuts import render_to_response
from django.template import RequestContext
def index(request,template_name="index.html"):
return render_to_response(template_name,{},context_instance=RequestContext(request))
##------------------views.py----------------------