这是我的views.py
def hours_ahead(request, offset):
try:
offset = int(offset)
except ValueError:
raise Http404()
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
assert False
html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt)
return HttpResponse(html)
这是我的urls.py
from mysite.views import current_datetime,hours_ahead
urlpatterns = patterns('',
# Examples:
url(r'^$', 'mysite.views.home', name='home'),
url(r'^blog/', include("blog.urls", namespace="blog")),
url(r'^current_datetime/$', current_datetime),
url(url(r'^time/plus/\d+/$', 'mysite.view.hours_ahead', name='hours_ahead')),
url(r'^admin/', include(admin.site.urls)),
)
错误是
TypeError at /
url() takes at least 2 arguments (2 given)
我在此页面中发现了同样的问题Django 1.7: some_name() takes exactly 2 arguments (1 given) 如果我改变我的代码就像那个建议 错误消息转到此:
ViewDoesNotExist at /
Could not import mysite.views.home. View does not exist in module mysite.views.
在我看来,我不相信错误的原因是缺乏的&#34; mysite.view.hours_ahead&#34;
答案 0 :(得分:2)
错误在这一行:
url(url(r'^time/plus/\d+/$', 'mysite.view.hours_ahead', name='hours_ahead')),
应该是:
url(r'^time/plus/(\d+)/$', 'mysite.views.hours_ahead', name='hours_ahead'),
答案 1 :(得分:0)
我找到了解决方案 这一行
url(r'^time/plus/\d+/$', 'mysite.view.hours_ahead', name='hours_ahead'),
应该是
url(r'^time/plus/(?P<offset>\d{1,2})/$', hours_ahead)
这似乎是关于参数传递和Regex的一些问题。