python - 为什么我的主页无法识别视图中的“object_list”?
问题描述
我有一个导航栏模板,我想让它动态化。当我想在模板中执行此操作时,什么也没有发生:
{% for platform in object_list %}
<li><a href="#">{{platform.title}}</a></li>
{% endfor %}
此代码仅适用于 platform.html 文件,但我想在所有 html 文件中显示导航栏
它在 platform.html(platform URL) 中,应该是这样的
这是我的模型
from django.db import models
# Create your models here.
class Platform(models.Model):
PLATFORM_CHOICES = (
('PC', 'PC'),
('PS', 'playstation'),
('XBOX', 'Xbox'),
('NS', 'nintendo switch'),
)
title = models.CharField(max_length=4, choices=PLATFORM_CHOICES, verbose_name= "platform")
slug = models.SlugField(max_length=100, unique=True)
class Meta:
verbose_name = "platform"
verbose_name_plural = "platforms"
def __str__(self):
return self.title
class Game(models.Model):
title = models.CharField(max_length=50)
description = models.TextField()
slug = models.SlugField(max_length=100, unique=True)
image = models.ImageField(upload_to="images")
platform = models.ManyToManyField(Platform)
class Meta:
verbose_name = "game"
verbose_name_plural = "games"
def __str__(self):
return self.title
这是我的看法:
from .models import Game, Platform
from django.shortcuts import get_object_or_404, render
from django.views.generic import ListView, DetailView, TemplateView
# Create your views here.
def home(request):
return render(request, 'blog/home.html')
class GameList(ListView):
template_name = "blog/game.html"
model = Game
games = Game.objects.all()
context = {
'games': games
}
class GameDetail(DetailView):
template_name = "blog/game_detail.html"
def get_object(self):
slug = self.kwargs.get('slug')
return get_object_or_404(Game.objects.all(), slug=slug)
class PlatformList(ListView):
template_name = "blog/platform.html"
model = Platform
platforms = Platform.objects.all()
context = {
'platforms': platforms
}
这是我的 home.html 文件:
<div class="navbar navbar-inverse">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="navbar-header">
<button class="navbar-toggle" data-target="#mobile_menu" data-toggle="collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
<a href="#" class="navbar-brand">GROUP.COM</a>
</div>
<div class="navbar-collapse collapse" id="mobile_menu">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown">Platforms<span class="caret"></span></a>
<ul class="dropdown-menu">
{% for platform in object_list %}
<li><a href="#">{{platform.title}}</a></li>
{% endfor %}
</ul>
</li>
</ul>
<ul class="nav navbar-nav">
<li>
<form action="" class="navbar-form">
<div class="form-group">
<div class="input-group">
<input type="search" name="search" id="" placeholder="Search Anything Here..." class="form-control">
<span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span>
</div>
</div>
</form>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"><span class="glyphicon glyphicon-user"></span> Profile</a></li>
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-log-in"></span> Login / Sign Up <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Login</a></li>
<li><a href="#">Sign Up</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
有什么建议我可以解决这个问题吗?
解决方案
推荐阅读
- r - 警告消息:要替换的项目数不是替换长度的倍数
- javascript - Javascript 引号索引器
- r - 拉取后如何在 R 中编辑 CSV 文件中的数据?
- google-chrome-extension - Node.js 导入/导出和 chrome/opera/firefox 扩展。2020年的情况
- php - StripeObject.php array_keys() 期望参数 1 为数组,给定 null
- c# - 使用 BotServiceStressToolkit 和 MockChannel 进行 BotFramework 负载测试。从 MockChannel 获取数据的问题
- python - 如何将 Python Flask 后端连接到 React 前端?它是如何协同工作的?
- apache-spark - 别名内部加入pyspark
- docker - 为什么我的 docker compose 文件只适用于端口 80 而不是其他端口?
- python - 如何在 tkinter 中删除 canvas.create_text() 中文本的最后一个字符?