django如何覆盖安装app的样式或者模版 如 django-machina

问题:

日常开发过程中,可能会复用一些已经写好的app,如django-machina等。这些app的样式可能不能满足我们的需求。可能是太丑了,或者是非常丑。

解决思路:

利用django查找模版和静态文件的特性:重复文件名的默认解析方式:将使用首先在指定位置之一中找到的文件。

连接:https://docs.djangoproject.com/en/2.0/ref/contrib/staticfiles/#django-admin-collectstatic

示例(以模版为例,静态文件思路相同):

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
      os.path.join(PROJECT_PATH, 'myproject/templates'), # 把新创作的模版的路径放到默认模版路径之前,命名时保证旧的模版名称相同,即可。
      MACHINA_MAIN_TEMPLATE_DIR,
    ],
    'OPTIONS': {
      'context_processors': [
        # [...]
      ],
    },
  },
]

在myproject/templates路径下写新创作的模版(如我们想要覆盖模版base.html,则在该路径下创建模版base.html即可)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值