使用Django1.10版本时,配置文件要注意的地方

问题一描述:

Django1.10版本中框架中settings.py配置文件

DEBUG= True

ALLOWED_HOSTS = [‘*‘] #这样可以让所有来源的ip访问到后台

使用 python3 manager.py runserver后访问,发现没有css,js样式。

网上查询得知:Django1.9版本后静态文件目录需要创建。大概的意思就是在settings.py文件中添加一下配置部分:

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_ROOT = os.path.join(PROJECT_ROOT, ‘staticfiles‘)
STATIC_URL = ‘/static/‘

# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, ‘static‘),
)

配置更改后,还要执行命令

python3 manage.py collectstatic

执行这个的目的,就是从Django的扩展包中,将admin管理后台的jss 和css等静态文件拷贝到配置文件中的STATIC_ROOT目录下。

这里还有一个问题 STATIC_ROOT目录 和 STATICFILES_DIRS 作用差不多,只是前者是默认查看的目录。

执行后我们会看到,多出这一个目录

__init__.py

__pycache__

settings.py  

static        这个需要手动创建,不然报错   

staticfiles    这个会自动创建

urls.py  

wsgi.py

此时我们访问http://ip:8000/admin,样式就都在了。

问题二:当我把 settings.py文件中的DEBUG 配置改成

Debug = False后,尼玛发现访问又没有样式了。

这是为什么呢?于是看看官网的说明如下链接

https://devcenter.heroku.com/articles/django-assets

大概意思即是,放置于生产环境的Django框架,静态目录不应该通过Django直接提供访问,而是通过nginx提供对外访问。这时候我们看下之前配置的

nginx+uwsgi+django框架中的nginx配置,如下:

server {
    listen         80;
    server_name    127.0.0.1
    charset UTF-8;
    access_log      /var/log/nginx/django_pro01_access.log;
    error_log       /var/log/nginx/django_pro01_error.log;

    client_max_body_size 75M;

    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
        uwsgi_read_timeout 2;
    }
    location /static {
        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /usr/share/nginx/django_pro01/django_pro01/staticfiles; #
        #alias /usr/share/nginx/django_pro01/static/;
     }
 }

可以看出,已经配置了/static的访问方式了。

之前不能访问是路径配置错误,现在可以了。

时间: 2024-10-07 20:27:27

使用Django1.10版本时,配置文件要注意的地方的相关文章

django1.10版本解决CSRF问题

>>> import django >>> django.get_version() '1.10.6' (本文誊抄自之前自行编写的CSDN文档中) CSRF是(Cross-Site Request Forgery)跨站请求伪造,简单的用于防止恶意网站上的表单或者JavaScript利用用户登录过的认证信息,对网站进行某些操作,利用Django进行web开发过程中,如不对app下的views.py脚本和template下的html文件做重写,在进行POST时就会出现403

centos7 + Apache2.4 + python3.5 +mod_wsgi4.5.15 + Django1.10安装指导

本文指导安装Python3.5, mod_wsgi4.5.15, Django1.10,以及安装过程中可能出现的问题及解决方法. 操作系统不局限于centos,大多数linux操作系统都适用.其他版本的操作系统出现问题的解决思路和方法基本是一样的...开始... 1. 安装Apache2.4 如果是Centos7版本,默认使用yum安装之后的apache就是2.4版本了,建议安装最新版本.因为我们后续要安装mod_wsgi,它依赖apache的开发库和Python的开发库,所以也要顺带安装apa

基于Django1.10与Celery4实现异步队列任务

由于django-celery这个模块我在django1.10的版本内运行不起来,只能使用野生的Celery,Celery4支持django1.8以上的版本,1.8以下的版本请使用Celery3,整个配置过程并不复杂: 整个目录结构: 一.安装模块: pip install celery pip install django-celery-results django-celery-results作用是将Celery的运行结果存入数据库 二.建立Celery入口文件(celery.py): fr

django1.10使用本地静态文件

django1.10使用本地静态文件方法 本文介绍的静态文件使用,是指启动web站点后,访问静态资源的用法,实际静态资源地址就是一个个的url 如果没有启动web站点,只是本地调试html页面,那直接用相对路径访问资源即可 1.settings.py中加入下面两句话(应该是默认的,不需要增加) STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') 说明: 1.STATIC_URL为访问静态资源的链接,比如12

SpringBoot高版本修改为低版本时测试类报错解决

有时在使用idea通过Spring Initailizr创建项目时,默认只能创建最近的版本的SpringBoot项目. 这是如果想要换成版本,就可以在项目创建好了之后,在pom文件中直接将版本修改过来. 如下所示 比如在创建项目时默认的版本为2.2.2版本: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artif

设置Ubuntu 10.10版本的软件源

设置Ubuntu 10.10版本的软件源 http://blog.csdn.net/xie1xiao1jun/article/details/49911189 网上有很多关于软件源信息的更新,每次将它们copy到/etc/apt/sources.list中,且将copy下来的信息的版本名字修改为maverick,再运行sudo apt-get update,总会出现一连串的错误.后面经过搜索,才发现原来是ubuntu不在维护一些老版本的软件源了,因此无论怎么设置更新源都会出现错误.   因此目前

linux系统将python升级到2.7.10版本

linux系统将python升级到2.7.10版本 下载地址: https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz 下载文件到指定目录 [[email protected] ~]# cd /usr/local/ [[email protected] local]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz --19:12:59--  https:

iOS上传IPA时提示导入此构建版本时出错-errors occurred in the app thinning process

今天上传IPA时报错,提示导入此构建版本时出错-errors occurred in the app thinning process,本以为是误操作开启了bitcode,检查后发现并不是,修改了build号重新上传依然不起作用,看到网上有人说删除三方库的plist文件可以解决,但是也有人表示删除plist文件会导致程序无法运行,所以想起了bitcode刚推出时同样碰到过这个问题,我的解决办法: 找出三方库的info.plist文件 删除Executable file的value

在 iTunes content中创建新的版本时,出现构建版本后面没有加号。

老项目升级时,提交版本时,ipa已经上传成功到APP store,但是构建版本后面一直都没有加号,等了一夜还是没有反应 后来苹果发来一封邮件,意思是,我需要在plist文件中添加一个NSMicrophoneUsageDescription关键字符串值向用户解释应用程序如何使用这些数据. 还需要在 capabilities -> Push Notifications 勾选上,如果你的项目需要推送的话. 修改完后,项目就可以上传构建新版本了. 点击加号后,可以看到上个构建的版本是个无效版本. 有点奇