管理类未在django

时间:2018-01-26 17:13:44

标签: python django

我尝试将我的模型添加到管理员中。 但是我在为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'未定义

感谢帮助

2 个答案:

答案 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 *