我正在尝试让广告显示在我网站的侧边栏上(在 base.html 中)。但是广告没有显示。
我使用的代码是:
views.py
from django.shortcuts import render, redirect
from django.http import HttpResponse
from .models import *
import random
def base(request):
allSideAds=SideBarAd.objects.all()
random_sideAd = random.choice(allSideAds) if allSideAds else None
return render(request, 'base.html', {'random_sideAd': random_sideAd})
模型.py
from django.contrib import admin
from django.db import models
from django.urls import reverse
class SideBarAd(models.Model):
AdImage = models.ImageField(help_text='Enter Image Here')
AdLink = models.URLField()
MaxAdViews = models.PositiveBigIntegerField()
AdViews = models.PositiveBigIntegerField()
Approved = models.BooleanField()
def get_absolute_url(self):
return self.AdImage
base.html
{% if random_sideAd %}
<a href="{{ random_sideAd.AdLink }}">
<img src="{{ random_sideAd.AdImage.url }}" alt="Ad Image">
</a>
{% endif %}
当我加载页面时,数据库中的广告不会通过 base.html 显示。
尝试打印 allSideAds 以确保它存在,如果您确定已导入 SideBarAd 并且存在对象,请尝试
allSideAds= list(SideBarAd.objects.all())
random_sideAd = random.choice(allSideAds)