zoukankan      html  css  js  c++  java
  • django1.6 static staticfile

    django1.6的settings.py 中的static 配置和之前版本的还是有点出处的,研究了两天 ,终于达到了能用的地步.这里会结合django1.6 在apache2上的部署来说:

    从官网上看出,django1.6的static 文件的存放位置有了改变,如下面我的项目tree:

    oakcloud/
    ├── db.sqlite3
    ├── logs
    │   ├── django_db_backends_logfile.log
    │   ├── django.log
    │   └── django_request_logfile.log
    ├── manage.py
    ├── oak
    │   ├── admin.py
    │   ├── __init__.py
    │   ├── models.py
    │   ├── network.py
    │   ├── plugins
    │   │   ├── __init__.py
    │   │   └── network
    │   │       ├── __init__.py
    │   │       ├── methods.py
    │   │       └── models.py
    │   ├── static
    │   │   ├── __init__.py
    │   │   └── oak
    │   │       ├── css
    │   │       │   ├── bootstrap-cerulean.css
    │   ├── templates
    │   │   └── oak
    │   │       ├── index.html
    │   ├── urls.py
    │   └── views.py
    ├── oakcloud
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    └── static

    根据官方文档上做提供的教材, 项目tree 是这样.

    settings.py :文件:

    import os
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    
    STATIC_URL = '/static/'
    
    STATIC_ROOT = "/var/www/example.com/static/"
    
    
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, "static"),
    )

    关于STATIC_URL,STATIC_ROOT,STATICFILES_DIRS 的含义,请参见

    http://blog.sina.com.cn/s/blog_6d710ea90101drct.html

    这里不再累述

    在template中对静态文件的引用方式:

    {% load staticfiles %}
    
    <link rel="stylesheet" type="text/css" href="{% static 'oak/css/bootstrap-cerulean.css' %}" />

    执行:

    $ python manage.py collectstatic

    会将app里面的static文件copy到你指定的STATIC_ROOT里面:

    前提:与app同级有static文件夹, 不然会报错.

    我的apache2 配置:

    WSGIScriptAlias / "/home/geiao/PycharmProjects/oakcloud/oakcloud/wsgi.py"
        <Directory "/home/geiao/PycharmProjects/oakcloud/oakcloud">
        Order deny,allow
            Allow from all
        </Directory>
        
        Alias /static /var/www/example.com/static
        <Directory /var/www/example.com/static>
            Order deny,allow
            Allow from all
        </Directory>
  • 相关阅读:
    vue双向数据绑定原理解析及js代码实现
    react 实现tab切换
    vue不是内部或外部命令,解决办法
    JavaScript 基础知识 表达式和运算符
    JavaScript 基础知识 变量与数据类型
    Animation动画-小动画
    Ajax的封装
    esp32 python上位机(命令行)
    ESP32扫描环境中的所有WiFi并且通过串口选择需要连接的WiFi
    Linux修改开机图形/etc/motd
  • 原文地址:https://www.cnblogs.com/Jghost/p/3600923.html
Copyright © 2011-2022 走看看