我正在通过本教程快速开发网站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)