11

我正在做Activating the Admin Interfacedjangobook 第 06 章中的部分。在该部分结束时,必须运行开发服务器并转到http://127.0.0.1:8000/admin/.

但是我看到了这个: 我的 Django 管理页面

而不是这样的(来自djangobook): 它应该是什么样子

这很奇怪,因为我的 mysql 数据库表中存储了数据,该表链接到settings.py文件中的 django 项目。

这是我的 django 项目文件中的DATABASES字典:settings.py

DATABASES = {
    'default': {
        'ENGINE': 'mysql',
        'NAME': 'mydb',                   
        'USER': 'root',                      
        'PASSWORD': 'mypass',                 
        'HOST': 'localhost',                    
        'PORT': '',                      
    }
}

mysql 提示符显示如下:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mydb               |
+--------------------+
3 rows in set (0.00 sec)

mysql> use mydb;
mysql> show tables;
+----------------------------+
| Tables_in_mydb             |
+----------------------------+
| auth_group                 |
| auth_group_permissions     |
| auth_message               |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| books_author               |
| books_book                 |
| books_book_authors         |
| books_publisher            |
| django_admin_log           |
| django_content_type        |
| django_session             |
+----------------------------+
14 rows in set (0.00 sec)

为什么我mydb在管理页面中看不到 的内容?

可能相关:

mysql> select User from mysql.user;
+------------------+
| User             |
+------------------+
| root             |
| debian-sys-maint |
| root             |
| root             |
+------------------+
4 rows in set (0.00 sec)
4

2 回答 2

33

您需要继续阅读http://django-book.readthedocs.org/en/latest/chapter06.html#adding-your-models-to-the-admin-site

还有一个关键部分我们还没有完成……
在书籍目录 (mysite/books) 中,创建一个名为 admin.py 的文件,然后输入以下代码行:

from django.contrib import admin
from mysite.books.models import Publisher, Author, Book

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)
于 2012-07-11T13:59:15.343 回答
0

您必须在 app 目录中的 admin.py 文件中注册您的模型。

如果没有 admin.py 你必须创建一个然后注册它。

就我而言,我有一个注册模型,我在 app 目录中创建了 admin.py 文件,并添加了以下代码。

from django.contrib import admin

from .models import Registeration

admin.site.register(Registeration)
于 2022-02-27T16:20:20.750 回答