Django静态文件输出

简介:

一直很纠结的一个问题,网络上也有很多方案,但总感觉不完美.

之前的方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1 .  在setting.py中
     STATIC_ROOT =  'static/'
     STATIC_URL =  'static/'
     
2.  在模板页面中
     <link rel= "stylesheet"  href= "{{ STATIC_URL }}css/bootstrap.css" >
     <script  type = "text/javascript"  src= "{{ STATIC_URL }}js/bootstrap.js" >< /script >
     
3.  在urls.py的配置中
     from django.conf.urls.static  import  static
     urlpatterns = patterns( '' ,
         url(r '^admin/' , include(admin.site.urls)),
         (r '^$' , latest_books),
     ) + (static(settings.STATIC_URL, document_root=settings.STATIC_ROOT))
 
4.  在views.py对应的输出视图中
return  render_to_response( 'index.html' , {
         'book_list' : book_list,
         'STATIC_URL' : STATIC_URL,
     })

虽然能解决一定问题但是每一回都需要在response中添加STATIC_URL,非常烦躁


结合最近的项目部署以及开发深入,总结完美方案一套

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.  在settings.py中
STATIC_URL =  '/static/'
STATIC_ROOT =  '/static/'
STATICFILES_DIRS = (
     os.path. join (BASE_DIR,  'static' ).replace( '\\' , '/' ),
)
 
2.  在url.py中(总路由 即全局路由出口)
urlpatterns = patterns( '' ,
     url(r '^admin/' , include(admin.site.urls)),
     url(r '^app/' , include( 'app.urls' )),
) + (static(settings.STATIC_URL, document_root=settings.STATIC_ROOT))
 
3.  在模板视图中
<link rel= "stylesheet"  href= "{{ STATIC_URL }}css/bootstrap.css" >
<script  type = "text/javascript"  src= "{{ STATIC_URL }}js/bootstrap.js" >< /script >

这样在views中的每个视图方法就不需要重复response STATIC_URL了




     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1532733,如需转载请自行联系原作者

相关文章
|
5月前
|
前端开发 JavaScript Python
24 Django高级- 管理静态文件
24 Django高级- 管理静态文件
23 0
|
8月前
|
NoSQL 安全 中间件
[Python]Django 配置和静态文件(三)
[Python]Django 配置和静态文件(三)
|
8月前
|
Python
[Python]Django 配置和静态文件(二)
[Python]Django 配置和静态文件(二)
|
8月前
|
存储 前端开发 JavaScript
[Python]Django 配置和静态文件(一)
[Python]Django 配置和静态文件
|
8月前
|
前端开发 JavaScript Python
[Python]Django 配置和静态文件
[Python]Django 配置和静态文件
|
前端开发 JavaScript 中间件
Django高级管理静态文件和中间件5.1
Django高级管理静态文件和中间件5.1
101 0
|
前端开发 JavaScript Python
Django入门:第十章、静态文件设置
Django入门:第十章、静态文件设置
197 0
Django入门:第十章、静态文件设置
|
Python
Django静态文件路径设置
提示 : Error fetching command 'collectstatic': You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
1582 0
Django学习(6)配置静态文件
  本文将详细讲述如何在Django中配置静态文件,如图片(images),JavaScript,CSS等。   我们将要实现的网页如下: 当按下按钮“Change Text”时,图片下方的“Good morning!”会变成“Good night!”.再次按下时,则会变成“Good morning!”,如此循环往复地变化。
1076 0