【发布时间】:2020-05-02 09:36:53
【问题描述】:
当用户访问我的页面时,我正在尝试使用每个页面中的会话打印添加喜欢的消息。 我提出了这段代码,它在 index.html 中显示了我的营销信息。
middleware.py---
from .models import MarketingMessage
from django.utils.deprecation import MiddlewareMixin
class DisplayMarketing(MiddlewareMixin):
def __init__(self, get_response):
self.get_response = get_response
def process_request(self, request):
print("something")
try:
request.session['marketing_message'] = MarketingMessage.objects.all()[0].message
except:
request.session['marketing_message'] = False
我的意见.py--
def index(request):
products = Product.objects.all()
marketing_message = MarketingMessage.objects.all()[0]
context = {'products':products,'marketing_message':marketing_message}
return render(request,'pro/index.html',context)
models.py--
from django.db import models
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=False,auto_now_add=True)
updated = models.DateTimeField(auto_now_add=False,auto_now=True)
start_date = models.DateTimeField(auto_now=False,auto_now_add=False,null=True,blank=True)
end_date = models.DateTimeField(auto_now_add=False,auto_now=False,null=True,blank=True)
def __str__(self):
return str(self.message[:12])
base.html--
{% if marketing_message %}
<div class="alert alert-success alert-dismissible alert-top-message" role="alert">
<h3>
{{ request.session.marketing_message|safe }}
</h3>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
{% endif %}
【问题讨论】:
标签: django middleware