• 在模板中加载css/js等静态文件

    测试环境中的方法
    服务器君一共花费 6.732 ms 进行了 2 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    Django 的 template 确实很强大,但是我们不可能把CSS文件也嵌入到template中。在使用 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 服务器。

    这里我们先不谈 Web 服务器的处理,因为我们现在用的是 Django 自带的服务器,所以这里只是解决测试环境里的静态文件处理。

    处理方法也很简单,首先是在 urls.py 里加入:

    from django.conf import settings
    
    urlpatterns = patterns('',
        (r'^files/(?P<path>.*)$', 'django.views.static.serve',{'document_root': 'E:/PythonProject/nowamagic/files'}),
    )
    

    按照上面的规则改成你的 css/js 目录即可。

    怎么用?

    <link rel="stylesheet" type="text/css" media="all" href="/files/style.css">
    

    就这样,Django 的模板就可以加载静态的 css,js 什么的了。

    而对于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 服务器端的方法。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [移动开发] Android抽屉导航NavigationDrawer 5 个条目
  2. [JavaScript程序设计] jQuery与表单操作 2 个条目
  3. [运维管理] 路由器与交换机 4 个条目
  4. [移动开发] Android里的ContentValues 2 个条目
  5. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  6. [移动开发] Android View注入框架Butter Knife 3 个条目
  7. [智力开发与知识管理] 整体性学习策略 9 个条目
  8. [PHP程序设计] 对输入文件类型的检测 1 个条目
  9. [移动开发] 刷机与root相关 2 个条目
  10. [PHP程序设计] 命令式编程范式 6 个条目
  11. [移动开发] 从代码角度去认识 Thread 9 个条目
  12. [移动开发] Android开发基础知识 4 个条目
窗口 -- [资讯]