python - 为什么我的 python 类变量(例如 Post)不能在类中用于声明变量。- django
问题描述
我在尝试运行服务器时不断收到错误(python manage.py runserver)错误是 nameError 并说 Post 未定义。
这是来自models.py
from django.db import models
class Post(models.Model):
posts = Post.objects.all()
title = models.CharField(max_length=150, db_index=True)
slug = models.SlugField(max_length=150, unique = True)
body = models.TextField(blank=True, db_index = True)
date_pub = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
这是来自 settings.py
from django.shortcuts import render
from blog.models import Post
# # Create your views here.
def home(request):
return render(request, 'blog/index.html')
def index(request):
posts = Post.objects.all()
return render(request, 'blog/index.html', context={'posts': posts})
File "C:\Users\MaxLe\Desktop\My_Django_Stuff\blogengine\blog\models.py", line 9, in Post
posts = Post.objects.all() NameError: name 'Post' is not defined NameError: name 'Post' is not defined
感谢所有帮助,因为我只是想站起来。谢谢。
解决方案
由于您正在访问Post
类变量定义中的类,即从模型中引发错误。posts = Post.objects.all()
. 删除这将解决NameError
推荐阅读
- go - sync.Cond 是如何工作的?
- ruby - Ruby Class Singleton 方法返回 self,为什么?
- python - 从 JSON Python 中删除元素
- mysql - 在 2019 预览版中安装 MySQL for Visual Studio6
- sql - Athena 在 CloudFront 日志上查询 5 分钟间隔内的最大速率
- javascript - 在一个常见的 Symfony Bundle 上使用 webpack
- integration - Python和C中梯形规则的精度
- reactjs - 如何在 ReactJS 中验证句柄验证的“数字”范围
- javascript - 将 jQuery 升级到 3.x 后链接 Ajax 调用失败
- c++ - 在 C++ 中,如何将 32 位数字传递给“int”变量,而不会将 0x7FFFFFFF 以上的任何内容视为负数?