0

我可以将来自不同应用的多个模型添加到一个管理站点吗?我想在管理面板的一个屋顶下查看两个应用程序(民意调查、新闻)模型。

目前在我的 Django 管理站点没有显示任何模型。

我在 admin.py 文件中尝试

from tutorial.polls.models import Poll, Choice
from tutorial.news.models import Article, Reporter
from django.contrib import admin

admin.site.register(Poll)
admin.site.register(Choice)
admin.site.register(Article)
admin.site.register(Reporter)

我的目录结构:

(example)andi@MacBook-Pro-Andrzej:~/example/tutorial$ ls -lR
total 8
-rw-r--r--   1 andi  staff   251B 28 paź 11:53 manage.py
drwxr-xr-x  12 andi  staff   408B 31 paź 02:46 news/
drwxr-xr-x   9 andi  staff   306B 31 paź 02:46 polls/
drwxr-xr-x  12 andi  staff   408B 31 paź 03:06 tutorial/


    ./news:
    total 64
    -rw-r--r--  1 andi  staff     0B 31 paź 00:18 __init__.py
    -rw-r--r--  1 andi  staff   210B 31 paź 02:09 base.html
    -rw-r--r--  1 andi  staff   466B 31 paź 01:26 models.py
    -rw-r--r--  1 andi  staff   383B 31 paź 00:18 tests.py
    -rw-r--r--  1 andi  staff   277B 31 paź 02:08 views.py
    -rw-r--r--  1 andi  staff   329B 31 paź 01:53 year_archive.html

    ./polls:
    total 40
    -rw-r--r--  1 andi  staff     0B 31 paź 02:32 __init__.py
    -rw-r--r--  1 andi  staff   612B 31 paź 02:33 models.py
    -rw-r--r--  1 andi  staff   383B 31 paź 02:32 tests.py
    -rw-r--r--  1 andi  staff    26B 31 paź 02:32 views.py

    ./tutorial:
    total 72
    -rw-r--r--  1 andi  staff     0B 28 paź 11:53 __init__.py
    -rw-r--r--  1 andi  staff   244B 31 paź 03:06 admin.py
    -rw-r--r--  1 andi  staff   5,4K 31 paź 02:34 settings.py
    -rw-r--r--  1 andi  staff   752B 31 paź 02:36 urls.py
    -rw-r--r--  1 andi  staff   1,4K 28 paź 11:53 wsgi.py
4

1 回答 1

2

欢迎来到 Django 编程!

简单的!创建一个admin.pyinpolls/news/,并且只包含该应用程序所需的模型。

例如,polls/admin.py可能包含:

from models import Poll, Choice
from django.contrib import admin

admin.site.register(Poll)
admin.site.register(Choice)

那应该工作得很好。

(我相信您当前的方法不起作用,因为polls并且news无法从内部访问tutorial/admin.py,并且tutorial.polls.models无法找到它们-polls/并且models/需要成为其子目录tutorial/才能起作用。否则,您走在正确的轨道上-保持去! :) )

于 2013-10-31T02:15:58.220 回答