apache静态文件配置

开发环境配置

需要下面几个步骤

1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等

2. 确保settings.py中的INSTALLED_APPS中包含django.contrib.staticfiles

3. 设置settings.py中的STATIC_URL的值为“/static/”

4. 在模版中使用{{ STATIC_URL }}作为静态文件路径前缀。比如纯在图片文件your_app/static/img/logo.png,那么应用代码为<img src=”{{ STATIC_URL }}img/logo.png”>

5. 渲染模版的Context对象需要换成RequestContext,否则模版中无法引用到STATIC_URL对应的值。

上面的操作步骤参见官方文档:https://docs.djangoproject.com/en/dev/howto/static-files/

特别注意:按照上述设置,settings.py中的DEBUG选项必须设置为True,否则‘/static/‘无法映射到静态文件目录。参见这里:http://stackoverflow.com/a/4566907/1114397

生产环境配置

我的发布环境是apache,这里只介绍相关配置。

使用apache的静态发布配置,而不使用django的配置,这也是django推荐的方式,因为django认为静态文件配置的方法交给服务器,会更有效。你所需要做的就是在apahce的配置文件中添加一个alice,如下

Alias /static "/your_wsgi/your_app/static"

# 注意结尾都没有斜杠,全路径也没有。

# 如果alias后面的值有反斜杠结尾,那么全路径也需要有,保持一致

“/static”对应django settings.py中配置的STATIC_URL的值。然后添加directory选项,配置相关目录的权限。Apache 2.4版本开始,对directory配置做出了调整,所以这里需要注意,如下:

Apache v2.4及以上版本,

<Directory "/your_wsgi/your_app/static "> 
    Require all granted 
</Directory>

Apache v2.4以下版本

<Directory "/your_wsgi/your_app/static "> 
    Options Indexes FollowSymLinks 
    Order allow,deny 
    Allow from all
</Directory>

注意上面红色部分。

Tips:如果访问静态图片遇到403错误,此时说明路径配置成功,离成功不远了。只是路径权限没有配置正确,这时可以看看apahce错误日志,如果出现“client denied by server configuration”,说明是directory的权限没有配置正确,可以查看自己的apache版本,然后做出响应配置。

希望本文对你有用!

时间: 2024-08-11 01:17:23

apache静态文件配置的相关文章

Django——静态文件配置

本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1.4.3. 吐槽:django的版本不兼容是个大问题,网上搜索相关问题时,解决方案到是一大推,但是均没有标注版本,导致均不能适用当前版本,走了不少弯路. 开发环境配置 需要下面几个步骤 1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/im

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

Django框架之模板基础,静态文件配置

一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里面,也就是html要在浏览器显示的内容3.在right里面写个盒子 {% block classinfo %} {% endblock %} 在这里面写个空盒子,以后谁来扩展就在这个盒子里面添加相应的内容就行了 4.然后再创建一个.html文件,让这个继承base.html文件, {% extend

55 Django静态文件配置

一.Django静态文件配置 1.项目文件夹,新建一个文件夹statics 文件夹 2.在配置文件settings.py中,配置: 文件中有第句: STATIC_URL = '/static/'#静态文件物理地址的别名 在上一句文件中下加一句: 在上一句文件中下加一句: STATICFILES_DIRS=[ os.path.join(BASE_DIR,"statics")] #静态文件的物理地址 3.把静态文件放在statics 文件夹中 4.html文件在引用静态文件时: <s

Django框架之模板继承和静态文件配置

https://www.cnblogs.com/haiyan123/p/7731959.html 一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件, 2.把要显示的页面的内容写在这里面,也就是html要在浏览器显示的内容 3.在right里面写个盒子 {% block classinfo %} {% endblock %} 在这里面写个空盒子,以后谁来扩展就在这个盒子里面添加相应

Django静态文件配置、request方法、ORM简介、字段的增删改查

app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 mansge.py startpp名称 手动创建的app不会自带存放html的templates文件夹,需要手动创建 Django静态文件配置 对于前端已经写好了的文件,我们只是拿过来使用,那么这些文件都可以称之为"静态文件"; 静态文件可以是:boostrap一类的前端框架,已经写好了

Django框架静态文件配置和URL解析

静态文件配置 1:#在django项目下创建一个static静态文件文件夹,在static文件夹下创建对应的css,img,js文件夹,用来存放css样式文件,图片和js代码,用于HTML引入 2:#在django项目的settings配置文件中,配置静态文件相关配置(setting文件的最下面) STATIC_URL = '/static/' #静态文件的文件路径别名,别名可以改,一般不改 STATICFILES_DIRS = [ #静态文件的文件路径,就是创建的static的静态文件夹路径,

django 组件 自定义标签 静态文件配置

组件 将一些功能标签写在一个html文件里,这个文件作为一个组件,如果那个文件需要就直接拿过来使用即可: 这是title.html文件,写了一个导航栏,作为一个公用的组件 <div style="background-color: cyan;width: 100%;height: 40px;"> <span style="font-size: 20px;">首页</span> <span style="font-s

django之三剑客、静态文件配置、请求响应对象、数据库操作

三剑客 from django.shortcuts import render,HttpResponse,redirect HttpResponse # 返回字符串 render(response, 'a.html', locals()) # 返回html页面 并且可以给该html传值 redirect('/userlist') # 重定向 # 既可以是我们自己的路径也可以是网上的路径 django返回的都是HttpResponse对象 静态文件配置 ## 静态文件静态配置 用户能够在浏览器中输