zoukankan      html  css  js  c++  java
  • Django项目DEBUG=False时配置静态文件

    Django项目在发布时,一般会设置:DEBUG = False,但这时系统不会自动给配置路由,需要我们手工配置,那么配置的方法如何呢?其实很简单,关键有两点:

    关键点一:

    在项目的urls.py文件中,添加:

    from django.conf.urls import url, static
    from django.contrib import admin
    from django.urls import path
    
    from [项目名] import views, settings
    
    urlpatterns = [
        url(r'^static/(?P<path>.*)$', static.serve,
            {'document_root': settings.STATIC_ROOT}, name='static'),
    ]

    关键点在于url的路由转发,将路径带static的请求,全部按settings.STATIC_ROOT路径来,这里的settings.STATIC_ROOT也可以换成其他变量。

    关键点二:

    根据以上的引用,在settings.py文件中配置STATIC_ROOT:写法太多了,比如(当然以下语句前提是运行了命令:python manage.py collectstatic,将静态文件收集到了collect_static文件夹):

    STATIC_ROOT = os.path.join(BASE_DIR, "collect_static")

    或者:

    STATIC_ROOT = os.path.join(BASE_DIR, "static")

    更或者:

    STATIC_ROOT = '/static/'

    跟甚至:

    STATIC_ROOT = 'static'

    以上均可,以上写法均可实现静态资源加载。其关键点在于首先在urls.py中进行规则配置,其二,根据urls配置情况,设置其引用的变量路径。

    html写法:

    {% load static %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="{% static 'css/abc.css' %}">
    </head>
    <body>
    <p class="red">dsfdsdfsdfs</p>
    </body>
    </html>

    文章出处:www.cnblogs.com/jizhong

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

  • 相关阅读:
    20000字干货笔记,一天搞定Mysql~【转】
    Linux操作系统概述及内核介绍
    如何在装有高版本NBU的主机上安装低版本的NBU?卸载8.0安装7.5记录
    vmware+kvm+vnc安装配置
    NBU异机恢复Oracle数据库,作业报错2850处理
    NetBackup 进程整理
    1、虚拟化实施流程、宿主机如何选型、如何进行性能测试
    灾难恢复的衡量指标RTO和RPO
    国内主要灾备厂商
    单例设计模式
  • 原文地址:https://www.cnblogs.com/jizhong/p/15131824.html
Copyright © 2011-2022 走看看