2016-11-06 5 views
0

私はターミナルサーバーで実行するたびに、定義して呼び出したにもかかわらず、 "名前の時間を先にインポートできません"というメッセージが表示されます。ここでDjangoは名前をインポートできません

は、私のviews.pyは

from django.http import HttpResponse 
import datetime 

def current_datetime(request): 
    now = datetime.datetime.now() 
    html = "<html><body>It is nose %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) 

で、ここでそれを呼び出すことになったがhours_ahead

from django.http import HttpResponse 
from django.contrib import admin 
from mysite.views import current_datetime, hours_ahead 

urlpatterns = patterns('', 
     (r'^time/$', current_datetime), 
     (r'^time/plus/(\d{1,2})/$', hours_ahead), 
) 

答えて

2

のエラーを取得している私のurls.pyでこれを試してみてください。

from django.conf.urls import include, url 
from django.contrib import admin 
from . import views 

urlpatterns = [ 
    url(r'^time/$', views.current_datetime), 
    url(r'^time/plus/(\d{1,2})/$', views.hours_ahead) 
] 

これが機能しない場合。あなたの質問にエラースタックを追加してください。

+0

ありがとうございますが、パターンが定義されていないと言っています。{urlpatterns = patterns( ''、 NameError:name 'patterns'が定義されていません) – Bryn

+3

Django 1.10では 'patterns'が削除されています。 Django 1.8+を 'urlpatterns = [url(...)、...]に変更してください。 – Alasdair

+0

これは、URLがdjango.httpから定義されていないと言っています。ビューはcurrent_datetime .IMPORTビューからurlpatterns = [URL( (R '^時間/ $'、views.current_datetime)、 (R '^時間/プラス/(\ D {1,2})/ $をインポート'、views.hours_ahead))] – Bryn

関連する問題