• django入门-静态文件-part6


    尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6517553.html 

    完全翻译自官方文档 https://docs.djangoproject.com/en/1.10/intro/tutorial06/

    我们的web应用除了展示html外,还需要处理一些静态的文件,比如图片,css,js等,当你的应用很小时这很简单你把静态文件放到一个固定的地方就可以

    然而当你的项目由多个应用组成时,django在使用静态文件时就要收集这些应用的各自的静态文件了,django.contrib.staticfiles这个模块就是做这个的

    这个模块就是从你的所有应用里的静态文件路径里收集然后放到一个地方

    你可以在你的应用里创建一个叫static的文件夹,把你的css文件放到这个目录polls/static/polls/style.css, 看起来跟template的目录结构完全一样

    django的这个配置 STATICFILES_FINDERS定义了很多finder,而默认的finder叫AppDirectoriesFinder,它会根据INSTALLED_APPS里定义的app的static目录下查找静态文件

    下面我们写一个css文件应用到html中

    polls/static/polls/style.css

    li a {
        color: green;
    }

    polls/templates/polls/index.html

    {% load static %}
    
    <link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />

     {% static %}这个标签会为你的路径生成绝对路径

    现在刷新下你的页面css已经生效了

    上面这个方法只适合在开发阶段,也就是说你用runserver启动并且debug设置为true时才有效果,不适用正式产品 !!!

    为什么呢? 因为django是python的应用框架,处理静态文件应该交给更专业的apache或nginx,所以请继续往下看

    django的这节到这里已经讲完了,它让你自己去看其它内容,比如生产环境如何处理你的静态文件,我在这也大体说一下啊

    每当你更新了你的静态文件你都应该运行这个命令

    django-admin collectstatic

    这个命令会从你的所有INSTALLED_APPS中的静态文件目录中收集静态文件到一个特定的目录,就是STATIC_ROOT定义的

    然后你就配置你的web server(apache,nginx)定义一个location,这个location的路径就是STATIC_URL的路径,这样就串起来了

    想了解更多 https://docs.djangoproject.com/en/1.10/howto/static-files/deployment/

    本节完

  • 相关阅读:
    2021年中央经济工作会议
    大人物不走直线路径
    批量修改:update inner join导致死锁
    linux 系统centos新添加一个硬盘,分区格式化挂载操作
    vuewaves点击容器出现水波纹效果
    多维表头的DataGridView
    TypeError: Property value expected type of string but got null
    linux下添加简单的开机自启动脚本
    Centos7 自定义 tomcat 的 systemctl 启动脚本
    uniapp的store使用
  • 原文地址:https://www.cnblogs.com/txwsqk/p/6517553.html
Copyright © 2020-2023  润新知