django中怎么载入css等静态文件 django1.9中怎么引入js和css文件
django中怎么载入css等静态文件
settings.py中的设置:
STATICFILES_DIRS = (
templates/static,
)
urls.py中设置:
url(r^staticfiles/(?P.*)$,django.views.static.serve,{document_root:settings.STATICFILES_DIRS, show_indexes: True}), html中引用方式: 这样设置完,文件是找到了,但是会出现编码错误,错误行是: C:Python27libmimetypes.py in enum_types, line 249 在网上找了半天,找到了解决编码错误的办法, 在mimetypes.py文件中,添加 reload(sys) sys.setdefaultencoding(gb18030)
django1.9中怎么引入js和css文件
参考如下
假如项目的目录tree为:
mysite:
manage.py
mysite:
__init__.py settings.py urls.py wsgi.py
blog(建立的应用程序):
models.py views.py test.py __init__.py templates
开始配置:
1、在外部的mysite目录下(也就是项目的根目录)建立static目录
2、打开settings.py,添加:
import os
STATIC_URL = /static/
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), ../static/).replace(\,/),
(
3、打开urls.py,添加(注意:假如在blog应用中新建了一个urls.py文件,那么应该添加到blog目录下的urls.py文件,我曾经在这个坑里纠结了很久):
import settings
urlpatterns = patterns(
url( r^static/(?P
{ document_root:settings.STATIC_ROOT }),
)
使用:
假设要在模板(存放在templates文件中的)里面导入外部/home/fudaoji/mysite/static/js/jequery.js文件,那么可以直接
Django 给 css 图片加 url
如果你非得要这样做的话。。。
默认django并不处理静态资源。如果你需要动态生成CSS的话,可以这样做:
比如你请求的CSS文件为:/static/style.css,把这个文件拷贝到模版目录,
在url里指定路由为:url(^static/style.css$, example.view.css),
然后在这个view里动态生成:
from django.shortcuts import render_to_response
def css(request):
    return render_to_response(style.css, {MEDIA_URL: /static/img/})