python - 包括 utils.py django 中使用的 looged
问题描述
我在 utils.py 中创建了一个 HTML 日历,它在其中创建了我想要制作的事件,以便它使用记录的用户的事件。使用用户名创建了一个会话。
实用程序.py
from datetime import datetime, timedelta
from calendar import HTMLCalendar
from .models import Event
from myProject.helper import get_current_user
class Calendar(HTMLCalendar):
def __init__(self, year=None, month=None):
self.year = year
self.month = month
super(Calendar, self).__init__()
# formats a day as a td
# filter events by day
def formatday(self, day, events):
events_per_day = events.filter(start_time__day=day)
d = ''
for event in events_per_day:
d += f'<li> {event.get_html_url} </li>'
if day != 0:
return f"<td><span class='date'>{day}</span><ul> {d} </ul></td>"
return '<td></td>'
# formats a week as a tr
def formatweek(self, theweek, events):
week = ''
for d, weekday in theweek:
week += self.formatday(d, events)
return f'<tr> {week} </tr>'
# formats a month as a table
# filter events by year and month
def formatmonth(self, withyear=True):
events = Event.objects.filter(start_time__year=self.year, start_time__month=self.month)
cal = f'<table border="0" cellpadding="0" cellspacing="0" class="calendar">\n'
cal += f'{self.formatmonthname(self.year, self.month, withyear=withyear)}\n'
cal += f'{self.formatweekheader()}\n'
for week in self.monthdays2calendar(self.year, self.month):
cal += f'{self.formatweek(week, events)}\n'
return cal
有人对我如何实现这一目标有解决方案吗?
解决方案
推荐阅读
- botframework - 访问以前的机器人响应(字符串)Microsoft Bot Composer
- dataframe - PySpark:如何在排序数据库中为下一个和上一个事件添加列?
- sql - 将 Oracle 程序和子过程移植到 postgres
- delphi - 在 Delphi 中,如何使用 BinToHex?
- ffmpeg - FFmpeg concat:时间码已更改
- javascript - 如何在不干扰其余代码的情况下使用循环?
- c# - ASP.NET MVC FX 将错误消息字符串发送到另一个操作方法不起作用
- ios - 将导航栏半透明设置为 false 不会让搜索栏出现
- excel - 到达现有数据的末尾并添加多个列标题
- c++ - 选择排序算法无法正确排序数字