Django NameError:未定义名称"views"

use*_*236 8 python django

我正在通过本教程快速开发网站Django.

我已完全遵循它(据我所知),但当我尝试查看索引页时收到以下错误:

NameError at /name 'views' is not defined
Exception location: \tuts\urls.py in <module>, line 12
Run Code Online (Sandbox Code Playgroud)

这是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'),
)
Run Code Online (Sandbox Code Playgroud)

这是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})
Run Code Online (Sandbox Code Playgroud)

这是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)
Run Code Online (Sandbox Code Playgroud)

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

但我对Django完全不熟悉,所以我不知道.有任何想法吗?

Roh*_*han 27

错误行是

    url(r'^$', views.index, name='index'),
    #----------^
Run Code Online (Sandbox Code Playgroud)

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

在urls.py中添加行

from <your_app> import views
# replace <your_app> with your application name.
Run Code Online (Sandbox Code Playgroud)