首页 文章

管理类没有在django中定义

提问于
浏览
0

我尝试将我的模型添加到管理员 . 但是当我为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 \ Scripts \ python.exe C:/ Users / FIANUAENA / PycharmProjects / mysite / manage . py runserver 8000 .wrapper在0x05E1EE88启动的线程中的未处理异常>回溯(最近一次调用最后一次):文件“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中引发_exception [1]文件“C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ venv \ lib \ site-packages \ django \ core \ management__init __ . py”,第327行,执行autoreload.check_errors(django.setup)()文件“C:\用户\ FIANUAENA \ PycharmProjects \ mysite的\ VENV \ LIB \站点帕茨卡ges \ 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中返回_bo otstrap._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行,在类PostAdmin(admin.ModelAdmin)中:文件“C:\ Users \ FIANUAENA \ PycharmProjects \ mysite \ blog \ admin.py”,第16行,在PostAdmin admin.site.register(Post,PostAdmin)中NameError:名称'PostAdmin'未定义

感谢帮助

2 回答

  • 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)
    
  • -2

    谢谢我的问题已修复 . 只需更改我的代码:

    来自:

    from .models import Post
    

    至 :

    from blog.models import *
    

相关问题