Django导入问题无法正常工作

时间:2015-09-06 05:57:40

标签: python django

我正在通过本指南: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

它告诉我导入未使用但仍无法识别渲染

2 个答案:

答案 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':现在})