zoukankan      html  css  js  c++  java
  • django notes 三:Template 的查找

    django 中有 2种 Template Loader

    django.template.loaders.filesystem.Loader
    django.template.loaders.app_directories.Loader

    filesystem.Loader 会根据 settings 中  TEMPLATES 下配置的 DIRS  查找 template

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': False,
            'OPTIONS': {
            },
        },
    ]

    app_directories.Loader 顾名思义会到各个 app 下面的 templates 文件夹下去查找 template

     TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
            },
        },
    ]
    APP_DIRS 为 True 表示启用 app_directories.Loader loader

    通常把模板放到最外层和放到各个 app 下面都是一样的,公共的模板可以放在最外层,各个 app 相关的可以放到 app 下面,因为 app 是独立的,可能会被用到多个项目中。
    在各个 app 下面的 templates 文件夹下通常会多加一层文件夹,并以该 app 的名字来命名,这主要是为了防止模板重名, 因为当启用 app_directories.Loader 时
    django 会从 INSTALLED_APPS 中从上到下依次查找各个app下的模板文件, static 文件也是一样的。
    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'blog',
    )
  • 相关阅读:
    CentOS7中使用yum安装Nginx的方法
    vsftp上传文件权限
    java传入ftp 0k
    centos 7.0 查看selinux状态|关闭|开启
    NamingException
    fastdfs服务器搭建
    安装gnome图形界面程序
    MAVEN插件-tomcat插件,java编译插件,资源文件拷贝插件
    spring ioc
    jsp全路径
  • 原文地址:https://www.cnblogs.com/lesliefang/p/4696330.html
Copyright © 2011-2022 走看看