代码之家  ›  专栏  ›  技术社区  ›  MikeN

如何将事件从pythyon/django推送到某人的google日历中?

  •  0
  • MikeN  · 技术社区  · 14 年前

    第二种可能是删除google日历中的事件(如果我推到其中的事件被删除)。

    2 回复  |  直到 9 年前
        2
  •  1
  •   Armance    11 年前

    这是一个片段:

    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>