2017-12-22 2 views
-2

저는 장고를 매우 신중하게 사용하고 있으며이를 기반으로 블로그를 개발하려고했습니다. python manage.py makemigrationspython manage.py migrate의 명령 후 Django : InteractiveConsole에 'Post'라는 이름이 정의되어 있지 않습니다.

내가 Post.objects.all()을 실행하기 위해 InteractiveConsole에있어, 잘 작동하고 나가서 설명하자면 NameError을 얻었다.

>>> Post.objects.all() 
Traceback (most recent call last): 
File "<console>", line 1, in <module> 
NameError: name 'Post' is not defined 

게다가 localhost : 8000을 실행하면 Server는 다른 NameError를 제공합니다.

NameError at/
name 'Post' is not defined 
Request Method: GET 
Request URL: http://localhost:8000/ 
Django Version: 2.0 
Exception Type: NameError 
Exception Value:  
name 'Post' is not defined 
Exception Location: D:\experiment\blogproject\blog\views.py in index, line 6 
Python Executable: d:\experiment\blogproject_env\Scripts\python.exe 
Python Version: 3.6.3 
Python Path:  
['D:\\experiment\\blogproject', 
'd:\\experiment\\blogproject_env\\Scripts\\python36.zip', 
'd:\\experiment\\blogproject_env\\DLLs', 
'd:\\experiment\\blogproject_env\\lib', 
'd:\\experiment\\blogproject_env\\Scripts', 
'd:\\professional soft\\python3.6.3\\Lib', 
'd:\\professional soft\\python3.6.3\\DLLs', 
'd:\\experiment\\blogproject_env', 
'd:\\experiment\\blogproject_env\\lib\\site-packages'] 
Server time: 星期五, 22 十二月 2017 16:08:10 +0800 

다음은 내 views.py입니다.

from django.shortcuts import render 
from django.http import HttpResponse 


def index(request): 
    post_list = Post.objects.all().order_by('-created_time') 
    return render(request, 'blog/index.html', context={'post_list': post_list}) 

경우에 따라 models.py에 우편 코드가 있습니다.

클래스 포스트 (models.Model) : 제목

body = models.TextField() 

created_time = models.DateTimeField() 
modified_time = models.DateTimeField() 

excerpt = models.CharField(max_length=200, blank=True) 

category = models.ForeignKey(Category, on_delete=models.CASCADE) 
tags = models.ManyToManyField(Tag, blank=True) 

author = models.ForeignKey(User, on_delete=models.CASCADE) 

def __str__(self): 
    return self.title 

너무 많이 U 감사 = models.CharField (MAX_LENGTH = 70)!

+0

여기서 import 문은 무엇입니까 ?? 예. 에서 .models 가져 오기 게시물 –

답변

0

대화 형 셸에 액세스해도 필요한 모든 파일이 자동으로 가져 오기되지 않습니다. 기본이 아닌 메소드, 함수, 모델 등을 사용하기 전에 가져 오기를해야합니다.

귀하의 경우, 사용하기 전에 게시 모델을 가져와야합니다. 응용 프로그램은이 또한보기에 대한 계산 모델에 살고있다.

을 실제 응용 프로그램입니다

from app.models import Post

, 당신은 그것을 사용하기 전에 모델을 가져와야합니다.

0

보기에서 모델을 가져 왔습니다. 이 도움이

from appName.models import Post 

희망 : 귀하의 경우

뭔가 같이해야합니다!

관련 문제