【发布时间】:2010-10-29 19:30:43
【问题描述】:
我想要从 Python Django 将事件推送到用户的 Google 日历中的最简单和最简单的方法。我不想阅读他们的活动或做任何其他事情,只需将他们在我的应用程序中创建的活动推送到他们的 Google 日历一次即可。
其次是可能删除他们谷歌日历中的事件(如果我推送的事件被删除)。
【问题讨论】:
标签: django google-calendar-api
我想要从 Python Django 将事件推送到用户的 Google 日历中的最简单和最简单的方法。我不想阅读他们的活动或做任何其他事情,只需将他们在我的应用程序中创建的活动推送到他们的 Google 日历一次即可。
其次是可能删除他们谷歌日历中的事件(如果我推送的事件被删除)。
【问题讨论】:
标签: django google-calendar-api
使用 Google 日历数据 API。 https://developers.google.com/calendar/api/guides/create-events#python
【讨论】:
这是一个sn-p来做的:
from django import template
from django.contrib.sites.models import Site
from django.utils.http import urlquote_plus
register = template.Library()
@register.filter
def google_calendarize(event):
st = event.start
en = event.end and event.end or event.start
tfmt = '%Y%m%dT000000'
dates = '%s%s%s' % (st.strftime(tfmt), '%2F', en.strftime(tfmt))
name = urlquote_plus(event.name)
s = ('http://www.google.com/calendar/event?action=TEMPLATE&' +
'text=' + name + '&' +
'dates=' + dates + '&' +
'sprop=website:' + urlquote_plus(Site.objects.get_current().domain))
if event.location:
s = s + '&location=' + urlquote_plus(event.location)
return s + '&trp=false'
google_calendarize.safe = True
这段代码可以通过以下方式调用:
{% load project_events_tags %}
...
<a href="{{ event|google_calendarize }}">+ Add to Google Calendar</a>
【讨论】: