我使用的方法是无约束的?

2024-09-28 05:23:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过Python的HTMLCalendar和Django编写一个日历。我用来在日历中输入数据的函数显示为未绑定,因此无法工作。在

以下是日历代码:

from www.wednesday.models import Event
import calendar
e = Event()
class EventCal(calendar.HTMLCalendar):

    def formatday(self, day, weekday):
        if day == 0:
            return '<td class="noday">&nbsp;</td>' # Day outside month
        if day == e.dd():
            return '<td class="%s">%d</p><a href=\"%s\" target=\"_blank\">%s</a></td>' % (self.cssclasses[weekday], day, e.link(), e.res())
        else:
            return '<td class="%s">%d</td>' % (self.cssclasses[weekday], day)

class rendCal:
    c = EventCal(calendar.SUNDAY)

这是我的模型.py公司名称:

^{pr2}$

最后,我的视图.py公司名称:

from django.shortcuts import render_to_response
import www.wednesday.models
from www.wednesday.cal import rendCal
import datetime as dt

def calendar(request):
    now = dt.datetime.now()
    cal = rendCal.c.formatmonth(now.year, now.month)
    return render_to_response('cal.html', {'calendar': cal})

除了Event在EventCal类中调用的函数之外,其他一切都正常。在

显然我对这方面还不熟悉。在

好吧,@Marcin要求一个错误,这就是我看到的,我也更正了大写字母。在

TypeError at /calendar/
unbound method dd() must be called with Event instance as first argument (got nothing instead)
cal.py in formatday, line 9

Event-from Event中的环境变量显示为空,我很确定这就是为什么我得到needs int not str错误的原因。当我将e.dd()更改为静态数字时,它将返回除e.link()和e.res()之外的所有内容。在


Tags: fromimportselfeventreturnwwwnowcalendar
2条回答

formatday中,您有:

if day == 0:

但同时:

^{pr2}$

并且Event.dd()返回一个字符串。在

那么,day是int还是字符串?在

dd()是类的一个实例的方法。在

你这样称呼它:

e = Event()
x = e.dd()

不能将dd应用于事件本身。在

我不知道你到底想做什么,所以我不知道你需要如何修改你的代码。在

相关问题 更多 >

    热门问题