[英]Why am I getting the following error: NameError: name 'models' is not defined
Whenever I run the program, I get the following error: 每当我运行程序时,都会出现以下错误:
NameError at /table/
name 'models' is not defined
It says that there's an error on line 4 in my views. 它说我认为第4行有错误。
Here is my views.py: 这是我的views.py:
from django.shortcuts import render
def display(request):
return render(request, 'template.tmpl', {'obj': models.Book.objects.all()})
Here is my models.py: 这是我的models.py:
from django.db import models
class Book(models.Model):
author = models.CharField(max_length = 20)
title = models.CharField(max_length = 40)
publication_year = models.IntegerField()
Here is my urls.py: 这是我的urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
# /table/
url(r'^$', views.display, name='display'),
]
Can somebody please tell me what is wrong? 有人可以告诉我怎么了吗?
You are referencing models.Book
in your view, but you have not imported models
. 您正在引用
models
。在视图中models.Book
,但尚未导入models
。 In your views.py you need to do from myapp import models
. 在您的views.py中,您需要
from myapp import models
。 Or you can do from myapp.models import Book
and change it in your view function to just Book.objects.all()
. 或者,您可以
from myapp.models import Book
并将其在视图函数中更改from myapp.models import Book
Book.objects.all()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.