django 中式用静态文件(css,javascript)
来源:互联网 发布:mysql 5.1.32.tar.gz 编辑:程序博客网 时间:2024/06/10 11:14
Django模板中使用css, javascript
测试环境(r'^css/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/var/www/django-demo/css'}),
(r'^js/(?P</path><path>.*)$', 'django.views.static.serve', {'document_root': '/var/www/django-demo/js'}),
(r'^images/(?P</path><path>.*)$', 'django.views.static.serve', {'document_root': '/var/www/django-demo/images'}),
模板中使用下述方式即可:
<link href="/css/demo.css" type="text/css" rel="stylesheet">
注:可采用os.path.dirname(globals()["__file__"])来获得当前文件所在路径,比如
(r'^css/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.path.dirname(globals()["__file__"])+'/css'}),
可以使用os.path.abspath()函数返回此路径的绝对路径。
==============
要在django的tempalte file中引用css、js、gif等静态文件,首先一条setting.py中DEBUG开关打开。
1、在project目录下建立一个存放静态文件的目录,如:medias
2、在url.py patterns中增加一行:
(r'^site_media/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_PATH}),
还要from django.conf import setting
3、在setting.py中加入一行:
STATIC_PATH='./medias'
如此设置后,就可以在template file 中引用media中存放的静态文件了,如:
<img src='/site_media/django.gif'>
线上环境
在使用Django开发的Web项目中是避免不了使用css、javascript、js等静态文件的,而对于这些静态文件的处理,django官 网这样写:Django itself doesn’t serve static (media) files, such as images, style sheets, or video. It leaves that job to whichever Web server you choose.就是说django本身不处理类似于图片、样式表、视频等静态文件,它将此项工作交给了你选择的Web服务器。
在网上搜索到的django项目处理静态文件的示例中,大家似乎都在使用如下的方法让django处理静态文件:
urlpatterns += patterns('',
(r'^static/(?P.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
)
而对于django.views.static.serve方法,django官网说得很清楚:Using this method is inefficient and insecure. Do not use this in a production setting. Use this only for development.就是说这种方法是低效且不安全的,不要在生产环境使用此方法,只在开发环境使用。
这时对于静态文件的处理,我们只能使用我们选择的Web服务器来处理了。比如使用nginx服务器的话,可以如下设置:
先设置settings.py,如下,
设置settings.py
然后设置nginx的相应网站配置部分,如下,
配置nginx
- django 中式用静态文件(css,javascript)
- django 中使用静态文件(css,images,javascript)
- Django加载静态文件(e.g. images, JavaScript, CSS)
- Django使用CSS静态文件
- django static 静态文件(css,js,image)处理机制
- Django 无法加载静态文件(js,css,image)解决办法
- Django使用静态文件css ,js,多媒体
- django 添加 css 等静态文件
- Django 导入静态文件js\css
- django加载css等静态文件
- Django调用JS、CSS、图片等静态文件
- Django调用css、img、js等静态文件
- django项目使用css、js等静态文件
- 问题解决:Django框架下静态文件(CSS/images)不显示
- Django记-模版与静态文件(js/css/image)
- django 之加载静态文件(Css.js.image)
- Django web server: html引用静态文件(css, js)
- django模板中如何导入js、css等静态文件
- Decimal与double类型误差
- 两个正在运行的activity之间的通信
- sp彩信错误状态码
- cygwin 支持IPC http://hi.baidu.com/wangzhiqing999/blog/item/3cfe34c6587abe060ef47794.html
- Andriod中Handler,Looper,MessageQueue的关系
- django 中式用静态文件(css,javascript)
- Linux SVN 命令详解
- LoadRunner使用手册
- Linux下ORACLE误删除数据文件恢复操作
- nftl算法分析
- 在ubuntu9.10下实现开机自动登录
- 让非root用户能使用wireshark捕捉网络数据包
- 12-1-30进步一小点
- T4MVC插件