django不同app同名html文件冲突问题

当多个Django应用存在同名html文件时,会导致模板加载冲突。解决方法是在每个应用的Templates目录下创建与应用同名的子目录,然后将html文件移入该子目录,确保模板路径的唯一性,从而避免加载错误。
摘要由CSDN通过智能技术生成

创建Templates时,会在每个Application下都创建一个Templates文件,然后在Templates文件下创建html文件。

错误示例:

1、有两个app,创建了相同的html文件,路径如下:

app1/templates/index.html

app2/templates/index.html

2、在根目录下settings.py文件中按照如下顺序加入app

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',
    'app2'
]

3、满足1和2的情况后,在两个app中views.py使用render调用index.html,如下

def index(request):
    return render(request, 'index.html', {'app1': 'app1'})
def index(request):
    return render(request, 'index.html', {'app2': 'app2'})

运行后发现,在app2的路径下,返回的结果永远是  app1,没有找到app2

 

注意,这是因为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值