django关闭debug后,静态文件的处理

Django框架仅在开发模式下提供静态文件服务。当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了。

1.使用django.views.static.serve()方法。在URLconf中添加:

编辑usrs.py,在最后添加如下代码:

from django.conf import settings
if settings.DEBUG is False:
    urlpatterns += patterns(‘‘,
        url(r‘^static/(?P<path>.*)$‘, ‘django.views.static.serve‘, {
            ‘document_root‘: settings.STATIC_ROOT,
        }),
   )

修改settings.py中的设置:

方法一(写死STATIC_ROOT):

STATIC_ROOT = ‘C:/Django/workplace/sf/sinfors/static‘

方法二(但是/admin的样式就不能用了):

if DEBUG:
    STATIC_URL = ‘static/‘
else:
    STATIC_URL = ‘sinfors/static/‘
STATIC_ROOT= os.path.join(BASE_DIR,STATIC_URL)

2.直接改变运行方式:(--insecure参数强制django处理静态文件,推荐)

python manage.py runserver 0.0.0.0:80 --insecure

3.使用项目正式部署是所使用的配置,由apache提供静态文件服务:

将静态文件由apache提供文件服务(类似正式部署):

编辑/etc/apache2/sites-available/horizon文件:

#Alias /media /opt/stack/horizon/openstack_dashboard/static
Alias /static /opt/stack/horizon/openstack_dashboard/static
建立静态文件链接:

ln -sv /opt/stack/horizon/openstack_dashboard/static /opt/stack/horizon
重启apache:

sudo service apache2 restart

时间: 2024-11-29 11:14:05

django关闭debug后,静态文件的处理的相关文章

django关闭DEBUG后 static静态文件都访问不了

Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了.想一想这是符合Django的哲学的:这部分事情标准服务器都很擅长,就让服务器去做吧! OK,解决问题的办法也就出现了,我最开始想到的就是,使用项目正式部署是所使用的配置,由apache提供静态文件服务.不过解决问题的方法远不止一种,在stackoverflow上我发现了更有趣的方法.

django关闭debug后,报400错误

原文出处:https://stackoverflow.com/questions/19875789/django-gives-bad-request-400-when-debug-false 在Apache下部署django ,当关闭debug后,前台连接时,报 BAD REQUEST (400) 这个提示 找了一番,还是在stackoverflow上找到答案的,当关闭debug后,需要将 ALLOWED_HOSTS = ['*']可以匹配任意host访问

django项目部署后静态文件收集【解决admin后台静态文件丢失】

在部署完Django项目后,进行admin后台登录发现样式丢失,后台日志显示:js和css文件丢失 解决办法: 配置settings.py如下: #DEBUG打开时,app的静态文件默认从这里读取 STATIC_URL = '/static/' #静态文件根目录,当关闭DEBUG的时候admin从STATIC_ROOT获取静态文件,同时需要配置url STATIC_ROOT = ("f:/py_workspace/DJ/proj/people/static/") #Django部署在A

Django的配置文件和静态文件以及路由

配置文件 1. BASE_DIR BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径. 2. DEBUG 调试模式,创建工程后初始值为True,即默认工作在调试模式下. 作用: 修改代码文件,程序自动重启 Django程序出现异常时,向前端显示详细的错误追踪信息 注意:部署线上运行的Django不要运行在调式模式

Thinkphp debug为true时页面能正常打开,关闭debug后,页面错误。

设置了thinkphp的路由功能,在全局配置文件common/conf/config.php下设置了 'URL_ROUTER_ON' => true, 'URL_ROUTE_RULES'=>array( 'news/:year/:month/:day' => array('Admin/Account/news', 'status=1'), 'news/:id' => 'Admin/Account/index', 'blog/:year\d|md5/[:month\d]'=>'

django源码分析——静态文件staticfiles中间件

本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方法. django框架提供的认证,回话保持,静态文件调试处理等都是通过以中间件的形式来处理. 2.本节就分析一下django框架提供的staticfiles中间件,该中间件分别实现了三个框架的命令,分别为collectstatic,findstatic,runserver. 其中,runserver

django中url,静态文件,POST请求的配置

平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面.那么怎么访问自己创建的页面呢? 因为django是类MVC的开发模式.这里面就涉及到配置URL的问题.创建一个自己的APP(也可以称为一个模块),包含的文件内容如下图: 然后需要在setting.py的文件INSTALLED_APPS中注册新创建的App: 新创建项目的默认url配置如下: fro

[Python] Django框架入门5——静态文件、中间件、上传图片和分页

说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文件主要指的是css.js和图片等文件. 1.配置静态文件 在settings.py文件中配置静态内容: STATIC_URL:在html文件中使用的路径,如:"/static/images/logo.png". STATICFILES_DIRS:指静态文件在项目的存放位置. 2.新建目录

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

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