Django页面点击No.1后空白且H1标签不显示问题排查
问题:点击编号1的选项后页面空白,H1标签无法显示
点击编号1的选项后,页面呈现空白状态,H1标签内容无法正常显示。
HTML模板代码
{% extends "main.html" %} {% block content %} <h1>{{room.name}}</h1> {% endblock content %}
Python视图代码
from django.shortcuts import render rooms = [ {'id': 1, 'name': 'Lets learn python!'}, {'id': 2, 'name': 'Design with me!'}, {'id': 3, 'name': 'Fronted develpoers!'}, ] def home(request): context = {'rooms': rooms} return render(request, 'base/home.html', context) def room(request, pk): room = None for i in rooms: if i['id'] == int(pk): room = i context = {'romm': room} return render(request, 'base/room.html', context)
问题原因及修复
视图函数room中,上下文字典的键名写错了:{'romm': room},而模板里引用的是{{room.name}},两者不匹配,导致模板无法获取到room变量,H1标签没有内容,页面显示空白。
修复方法:将上下文键名改为room,与模板变量名一致:
def room(request, pk): room = None for i in rooms: if i['id'] == int(pk): room = i context = {'room': room} return render(request, 'base/room.html', context)
修改后,模板就能正确渲染出room.name的内容,H1标签会正常显示。
内容的提问来源于stack exchange,提问作者Bot
相关产品推荐
相关产品推荐

