我正在通过本指南:http://www.djangobook.com/en/2.0/chapter04.html
它指示:
我们不再需要导入get_template,Template,Context或 HttpResponse对象。相反,我们导入django.shortcuts.render。进口 日期时间仍然存在。
然而,当我在我的代码中执行此操作时:
from django.http import Http404
import datetime
from django.shortcuts.render
def current_datetime(request):
now = datetime.datetime.now()
return render(request, 'current_datetime.html', {'current_date': now})
我收到这些错误:
导入渲染线:
预期:进口
在渲染代码行上:
未定义的变量:render
如果我将导入更改为:
from django.shortcuts import render
然后一切正常。
为什么这是幸福的?
修改
from django.http import Http404
import datetime
import django.shortcuts.render
def current_datetime(request):
now = datetime.datetime.now()
return render(request, 'current_datetime.html', {'current_date': now})
无法使用,请参阅打印屏幕:
http://i57.tinypic.com/5cyiz7.png
它告诉我导入未使用但仍无法识别渲染
答案 0 :(得分:0)
from django.shortcuts.render
除此之外,你需要做import django.shortcuts.render
。
或from django.shortcuts import render
就像你上次那样。
在您的第二次修改中,您执行了import django.shortcuts.render
,但只调用了render
,因此return
就像这样
return django.shortcuts.render(request, 'current_datetime.html', {'current_date': now})
您的最终代码应为: -
from django.http import Http404
import datetime
import django.shortcuts.render
def current_datetime(request):
now = datetime.datetime.now()
return django.shortcuts.render(request, 'current_datetime.html', {'current_date': now})
答案 1 :(得分:0)
首先应该是
import django.shortcuts.render as render
并使用
return render(request, 'current_datetime.html', {'current_date': now})
如果仅使用导入django.shortcuts.render 而不是将django.shortcuts.render导入为渲染。然后,返回渲染(请求,' current_datetime.html',{' current_date':现在})无法正常工作。请使用返回 django.shortcuts.render(请求,' current_datetime.html',{' current_date':现在})。