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

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

    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与SQLite数据库 7 个条目
  2. [计算机算法] 从双端队列引出的卡特兰数 3 个条目
  3. [PHP程序设计] PHP与函数式编程 1 个条目
  4. [移动开发] Android 开发调试工具 ADB 3 个条目
  5. [移动开发] Android View注入框架Butter Knife 3 个条目
  6. [软件工程与项目管理] 浏览器的HTML解析器 8 个条目
  7. [Python程序设计] Django模板系统 11 个条目
  8. [运维管理] 防火墙原理与应用 5 个条目
  9. [Linux操作系统] 基本 Linux Shell 命令 2 个条目
  10. [PHP程序设计] fsockopen,curl与file_get_contents 12 个条目
  11. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  12. [数据库技术] 数据库范式篇 5 个条目
窗口 -- [协会]