我是django的新手,我正在阅读一个教程,它有一个例子,但我认为是一个旧的Django版本,现在我正在使用Django 1.4
views.py
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
def hours_ahead(request, offset):
offset = int(offset)
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt)
return HttpResponse(html)
和urls.py文件
from django.conf.urls.defaults import *
from mysite.views import current_datetime, hours_ahead
urlpatterns = patterns('',
(r'^time/$', current_datetime),
(r'^time/plus/\d{1,2}/$', hours_ahead),
)
答案 0 :(得分:1)
您的网址格式缺少括号,表示您要从网址捕获偏移量。尝试将其更改为以下内容:
(r'^time/plus/(\d{1,2})/$', hours_ahead),
通常,人们更喜欢在其网址格式中使用named groups。在您的情况下,URL模式将更改为:
(r'^time/plus/(?P<offset>\d{1,2})/$', hours_ahead),
答案 1 :(得分:0)
因此,不是导入该应用程序的视图模块和给定的处理程序,而是应该提供我认为的字符串,所以这应该适用于你的urls.py
from django.conf.urls.defaults import *
from mysite.views import current_datetime, hours_ahead
urlpatterns = patterns('',
(r'^time/$', 'mysite.views.current_datetime'),
(r'^time/plus/\d{1,2}/$', 'mysite.views.hours_ahead'),
)