我尝试将我的模型添加到管理员中。 但是我在为model.admin创建类时运行错误 我不知道为什么我的班级阅读没有定义。
我使用python 3.6和Django 2.0
from django.contrib import admin
from .models import Post
# Register your models here.
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'author', 'publish', 'status')
list_filter = ('status', 'created', 'publish', 'author')
search_fields = ('title', 'body')
raw_id_fields = ('author')
date_hierarchy = ('publish')
ordering = ['status', 'publish']
admin.site.register(Post, PostAdmin)
这是我的调试错误:
" C:\ Program Files \ JetBrains \ PyCharm 2017.3 \ bin \ runnerw.exe" C:\ Users \用户FIANUAENA \ PycharmProjects \ mysite的\ VENV \脚本\ python.exe C:/Users/FIANUAENA/PycharmProjects/mysite/manage.py runserver 8000 由.wrapper在0x05E1EE88开始的线程中的未处理异常> Traceback(最近一次调用最后一次): 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ utils \ autoreload.py", 第225行,在包装中 fn(* args,** kwargs) 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ core \ management \ commands \ runserver.py", 第113行,在inner_run中 autoreload.raise_last_exception() 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ utils \ autoreload.py", 第248行,在raise_last_exception中 raise _exception [1] 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ core \ management__init __。py", 第327行,执行中 autoreload.check_errors(django.setup)() 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ utils \ autoreload.py", 第225行,在包装中 fn(* args,** kwargs) 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django__init __。py", 第24行,在设置中 apps.populate(settings.INSTALLED_APPS) 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ apps \ registry.py", 第120行,填充 app_config.ready() 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ contrib \ admin \ apps.py", 第23行,准备好了 self.module.autodiscover() 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ contrib \ admin__init __。py", 第26行,在自动发现中 autodiscover_modules(' admin',register_to = site) 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ utils \ module_loading.py", 第47行,在autodiscover_modules中 import_module('%s。%s'%(app_config.name,module_to_search)) 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ importlib__init __。py", 第126行,在import_module中 return _bootstrap._gcd_import(name [level:],package,level) 文件"",第994行,在_gcd_import中 文件"",第971行,在_find_and_load中 文件"",第955行,在_find_and_load_unlocked中 文件"",第665行,在_load_unlocked中 文件"",第678行,在exec_module中 文件"",第219行,在_call_with_frames_removed中 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ blog \ admin.py",第8行,in class PostAdmin(admin.ModelAdmin): 文件" C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ blog \ admin.py",第16行,在PostAdmin中 admin.site.register(Post,PostAdmin) NameError:name' PostAdmin'未定义
感谢帮助
答案 0 :(得分:4)
取消您的管理员电话:
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'author', 'publish', 'status')
list_filter = ('status', 'created', 'publish', 'author')
search_fields = ('title', 'body')
raw_id_fields = ('author')
date_hierarchy = ('publish')
ordering = ['status', 'publish']
admin.site.register(Post, PostAdmin)
答案 1 :(得分:-2)
来自:
from .models import Post
到:
from blog.models import *