Django NameError:name' views'没有定义

时间:2014-07-09 09:41:36

标签: python django

我正在this tutorial使用Django.

进行快速网站开发

我完全按照它(据我所知),但在尝试查看索引页时出现以下错误:

NameError at /name 'views' is not defined
Exception location: \tuts\urls.py in <module>, line 12

此处 urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', views.index, name='index'),
)

此处 views.py

from django.shortcuts import render

# Create your views here.
def index(request):
    items = Item.objects.order_by("-publish_date")
    now = datetime.datetime.now()
    return render(request,'portfolio/index.html', {"items": items, "year": now.year})

此处 models.py

from django.db import models

# Create your models here.
class Item(models.Model):
    publish_date = models.DateField(max_length=200)
    name = models.CharField(max_length=200)
    detail = models.CharField(max_length=1000)
    url = models.URLField()
    thumbnail = models.CharField(max_length=200)

我还有一个基本的index.html模板。从四处看看,我想我需要在某处导入我的视图。

但我对Django来说是全新的,所以我不知道。有什么想法吗?

3 个答案:

答案 0 :(得分:25)

错误行是

    url(r'^$', views.index, name='index'),
    #----------^

这里没有定义views,因此错误。您需要从您的应用中导入它。

在urls.py中添加行

from <your_app> import views
# replace <your_app> with your application name.

答案 1 :(得分:1)

from .views import index
  • 在这里,我们必须在urls模型上导入视图模型类,因此上面的句子在urls模型上导入视图模型类。

将此代码添加到urls.py

答案 2 :(得分:0)

如果你在 django 中使用 rest_framework 然后导入:

from rest_framework import views