python - 在 Django 中为其创建应用程序后未出现消息
问题描述
我创建了一个名为营销应用程序的应用程序,它可以自定义要在网站页面顶部写入的消息。我的问题是,当一切都配置好时,这些消息没有显示,我不知道为什么
这是营销应用程序的模型
class MarketingMessage(models.Model):
message = models.CharField(max_length=120)
active = models.BooleanField(default=False)
featured = models.BooleanField(default=False)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
start_date = models.DateTimeField(
auto_now_add=False, auto_now=False, null=True, blank=True)
end = models.DateTimeField(
auto_now_add=False, auto_now=False, null=True, blank=True)
def __str__(self):
return str(self.message[:12])
这是核心应用程序的视图
from marketing.models import MarketingMessage
class HomeView(ListView):
model = Item
paginate_by = 10
template_name = "home.html"
marketing_message = MarketingMessage.objects.all()[0]
这是模板
{% if marketing_message %}
<div class="alert alert-light alert-top-message" role="alert"style="margin-bottom: 0px; border-radius: 0px; text-align: center;padding-top:80px">
<div class="container">
<h3>{{ marketing_message.message }}</h3>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
</div>
{% endif %}
这是营销的admin.py
from django.contrib import admin
from .models import MarketingMessage
# Register your models here.
class MarketingMessageAdmin(admin.ModelAdmin):
class Meta:
model = MarketingMessage
admin.site.register(MarketingMessage, MarketingMessageAdmin)
解决方案
如果你想从另一个模型中获取数据,你可以覆盖视图中的获取上下文数据方法
class HomeView(ListView):
model = Item
paginate_by = 10
template_name = "home.html"
def get_context_data(self, **kwargs):
context = super(HomeView, self).get_context_data(**kwargs)
context['marketing_message'] = MarketingMessage.objects.all()
return context
推荐阅读
- ios - 黑屏标签栏控制器
- jpa - Apache Meecrowave OAuth2 JPA
- python - 无法在 python 中打开 lib 'ODBC Driver 17 for SQL Server'
- azure-data-factory - 在 AzureDataFactory (V2) 中读取 DateTime 格式
- perl - PDL API 是否有符号实现?
- python - 小波变换后图像大小发生变化
- mysql - 从另一个表错误列的mysql更新不能为空
- java - 从文本输入布局 .xml 解析计算
- opengl - 透视投影,标准可视体积
- python - 在 Pandas 中添加一个总计唯一列值的新行