`

在Django模板中使用css、javascript 等静态文件

阅读更多

个人技术博客:http://demi-panda.com

 

 

在使用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,如下,

MEDIA_ROOT = '/home/denghaiping/workspace/djcode/mysite/static/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/static/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = ''

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# URL prefix for admin static files -- CSS, JavaScript and images.
# Make sure to use a trailing slash.
# Examples: "http://foo.com/static/admin/", "/static/admin/".
ADMIN_MEDIA_PREFIX = '/static/admin/'

 

apache2 配置如下:

<Location "/static/">
SetHandler None
Order allow,deny
Allow from all 
</Location>
Alias /static /home/denghaiping/workspace/djcode/mysite/static
Alias /static/admin /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media

<Location "/static/admin">
SetHandler None                                                             
Order allow,deny
Allow from all 
</Location>

 如此配置以后,就可以让web服务器来高效的处理静态文件,而让django来处理动态内容。

分享到:
评论

相关推荐

    三、Django之使用模板并引用静态内容:jquery-3.6.0.min.js和bootstrap-3.4.1

    本篇将详细探讨如何在Django模板中引用和使用静态内容,特别是`jquery-3.6.0.min.js`和`bootstrap-3.4.1`这两个流行的技术。 `jQuery`是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互。`...

    如何通过Django使用本地css/js文件

    以上就是在Django项目中使用本地CSS和JavaScript文件的流程。总结起来,包括以下几个关键点: 1. 在项目的根目录下创建`static`文件夹,并按照类型存放CSS、JavaScript和图片文件。 2. 在`settings.py`中添加静态...

    django博客项目前端模板.rar

    【描述】:描述中的“django博客项目前端模板”意味着这个压缩包提供了用于构建Django博客应用的HTML、CSS和JavaScript文件。这些模板文件是网站用户界面的基础,它们决定了页面的布局、样式以及用户如何与博客内容...

    django模板加载静态文件的方法步骤

    在 Django 框架中,处理静态文件是一个关键任务,因为它们包含了网页的样式表(CSS)、脚本(JavaScript)以及图像等资源。本篇文章将详细介绍如何在 Django 模板中加载静态文件,以实现一个功能完备的网页应用。 ...

    Django使用模板后无法找到静态资源文件问题解决

    在使用Django开发Web应用程序时,经常会遇到一个问题:在应用模板之后,静态资源文件(如CSS、JavaScript等)无法正常加载。这个问题主要是由于Django的静态文件处理机制导致的。在深入探讨解决方案之前,我们需要先...

    django-static-precompile:django 的静态文件预编译器

    django 中已经有很多对静态文件的压缩和预编译的支持,即 django-compresser,但它们只有在 django 模板中使用一些自定义标签时才有效。 由于缓存管理,每次呈现模板时都会导致一些时间开销,并且此问题仍然存在于...

    10分钟入手django

    在Django中,静态资源如CSS、JavaScript和图片文件通常用于增强网页的视觉效果和交互性。Django提供了方便的管理工具来处理这些文件。在settings.py配置文件中,我们需要定义STATIC_URL和STATICFILES_DIRS,前者是...

    Djang中静态文件配置方法

    在Django框架中,静态文件配置是至关重要的,因为它确保了用户在访问网站时能够顺利加载CSS、JavaScript、图片等非动态内容。本篇将详细解释Django中静态文件的配置方法及其工作原理。 首先,我们需要理解静态文件...

    如何在Django项目中引入静态文件

    总结来说,Django中引入静态文件涉及创建`static`目录、配置`settings.py`以及在模板中使用模板标签。而从前端提交数据到后端则包括创建HTML表单、定义URL路由和编写处理数据的视图函数。理解并熟练运用这些概念对于...

    详解Django模版中加载静态文件配置方法

    总结来说,Django处理静态文件的流程包括配置静态文件的URL前缀,定义静态文件的来源目录,正确组织静态文件的目录结构,以及在模板中使用`static`标签引用这些文件。在开发过程中,可以使用Django的内置服务器来...

    django配置app中的静态文件步骤

    1. **静态文件**:在Web开发中,静态文件指的是不通过服务器动态生成的文件,如CSS样式表、JavaScript文件、图片等。这些文件直接由浏览器请求并显示在页面上。 2. **Django中的静态文件管理**:Django提供了内置的...

    django-3.2中文文档.zip

    - Django 提供了处理静态文件(如 CSS、JavaScript 和图片)和用户上传的媒体文件的能力。这部分可能会讲述如何配置静态文件路径,以及在生产环境中正确地服务于这些文件。 9. **搜索索引(searchindex.js)** - ...

    解决django后台样式丢失,css资源加载失败的问题

    1. **静态文件配置错误**:Django项目中的静态文件包括CSS、JavaScript和图片等资源。如果这些资源的路径配置不正确,就会导致浏览器无法找到并加载相应的资源。 2. **调试模式设置**:`DEBUG`是一个重要的设置项,...

    Django框架模板文件使用及模板文件加载顺序分析

    在Django中,模板文件的使用通常遵循以下步骤: 1. **加载模板文件(`loader.get_template`)**:首先,需要通过`loader.get_template`方法加载指定路径下的模板文件。这一步会返回一个模板对象,该对象包含了模板...

    django实现的blog

    【描述】:“一个使用django 1.7完成的个人博客代码,使用模板继承,django静态文件配置等内容。”这部分描述说明了项目的具体技术细节。Django 1.7是该项目使用的版本,尽管现在已经有了更新的版本,但理解旧版本的...

    6. Django 深入模板

    - **上下文**是传递给模板的数据,包含了所有可以在模板中使用的变量。视图函数负责构建上下文,并将其传递给模板引擎。 6. **模板调试** - 当模板错误发生时,Django会提供有用的错误信息,帮助开发者定位问题...

    基于Python+Django的博客系统,使用django框架,template模板,后台管理xadmin。.zip

    7. **static** 和 **media**:分别存放静态文件(如CSS、JavaScript)和用户上传的媒体文件。 8. **templates**:存放HTML模板文件,Django使用这些模板渲染动态内容。 9. **xadmin**:一个强大的后台管理系统,提供...

    漂亮的通用后台 html模板 静态模板 后台模板

    6. 使用方法:下载此压缩包(lj199)后,开发者可以通过解压获取HTML、CSS、JavaScript等文件,然后根据项目需求修改模板中的文字、图片、颜色等元素,调整布局或添加交互效果。同时,可能需要与现有的后端数据接口...

    django1.8.2中文文档

    Django 区分静态文件(如 CSS、JavaScript、图片)和用户上传的媒体文件。静态文件通常在开发时由开发服务器处理,而在生产环境中,可以通过收集静态文件命令将其合并和部署。 **国际化与本地化(i18n & l10n)** ...

    Django上使用数据可视化利器Bokeh解析

    以下是对Bokeh在Django中使用的详细介绍。 首先,让我们了解Bokeh的基本用法。在波形图的例子中,我们导入了必要的库,如`pandas`用于数据处理,`bokeh.plotting`和`bokeh.io`用于图表创建和输出。通过`pd.read_csv...

Global site tag (gtag.js) - Google Analytics