简体   繁体   English

为什么会出现以下错误:NameError:未定义名称'models'

[英]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.

相关问题 为什么我收到此错误“NameError:name'self'未定义。” - Why am I getting this error “NameError:name 'self' is not defined.” NameError:未定义全局名称,为什么会收到该错误? - NameError: global name is not defined, why am I getting that error? 为什么我会收到“NameError: name 'df2' is not defined”错误? - Why am i getting “ NameError: name 'df2' is not defined” error? 为什么我得到NameError:没有定义全局名称'spacing' - why am i getting NameError: global name 'spacing' is not defined 为什么我会得到这个? “NameError:名称'响应'未定义” - Why am I getting this? “NameError: name 'Response' is not defined” 为什么会收到(NameError:未定义全局名称“ secondRoom”)? - Why am I getting (NameError: global name 'secondRoom' is not defined)? 为什么会出现NameError:未定义名称'array' - Why am I getting NameError: name 'array' is not defined 为什么我得到这个 NameError: name "dt' is not defined - Why am I getting this NameError: name "dt' is not defined 我不知道为什么我收到错误:NameError: name 'changeRate' is not defined - I don't know why I am getting the error: NameError: name 'changeRate' is not defined Python 3.5:我收到一个错误:“ NameError:未定义名称'multiprocessing'” - Python 3.5: I am getting an error: “NameError: name 'multiprocessing' is not defined”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM