新的 django 应用程序中没有 admin.py 文件
Posted
技术标签:
【中文标题】新的 django 应用程序中没有 admin.py 文件【英文标题】:no admin.py file in new django app 【发布时间】:2013-01-30 10:50:14 【问题描述】:我是 Django 新手,我已经遇到了一个问题。我在 OSX Mountain lion 上使用 Django 1.4.3。
当我使用
启动新应用时 django-admin.py startapp "name"
应用程序已创建,所有必要的文件都在其中(__Init__.py
、models.py
、tests.py
、views.py
)。但是,应该自动创建的admin.py
文件不在app 文件夹中。没有它,我将无法编辑我的管理员站点首选项。
关于为什么会发生这种情况的任何想法?
【问题讨论】:
我不记得admin.py
是自动创建的。无论如何,新应用程序没有任何东西可以放入其中,因为您需要有模型供管理员执行任何操作。
@Michael Mior 这很奇怪。我正在浏览 Django 网站上的教程,它说一旦我创建了一个新应用程序,admin.py 文件就应该在那里,但我会环顾四周
一般来说:“如果文件不存在,则创建它”。
不知道为什么人们对这个话题如此讨厌。如果一个框架声称要创建某些文件然后失败了,那么很难知道如果只是自己创建一个文件,您是否会省略适当的导入或框架可能为您做的任何其他事情。
【参考方案1】:
您很可能正在阅读开发教程,但使用的是稳定版本(当前为 1.4.3)。 admin.py
是由 startapp
从 this commit 创建的,它还更新了教程文档,但直到 1.6 才会使其成为稳定版本。
【讨论】:
【参考方案2】:Admin.py 未生成。回应 OP 对您对上述帖子的评论:
来自教程的第 1 部分:https://docs.djangoproject.com/en/1.4/intro/tutorial01/
让我们看看 startproject 创建了什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
在第 2 部分,在“使投票应用可在管理员中修改”部分下,它说:
但是我们的投票应用在哪里?它不显示在管理索引页面上。
只需要做一件事:我们需要告诉管理员 Poll 对象有一个管理界面。为此,请在您的 polls 目录中创建一个名为 admin.py 的文件,并将其编辑为如下所示:
from polls.models import Poll
from django.contrib import admin
admin.site.register(Poll)
【讨论】:
对,但是当它要求开始一个新的应用程序“投票”时,没有 Admin.py 文件。该教程说了很多关于将什么放入所述 Admin.py 文件的内容,但似乎没有说明在何处创建它或在 Django 中的何处启动它。 在 docs.djangoproject.com/en/1.4/intro/tutorial02/… 上,有一个标题为“使投票应用程序在管理员中可修改”在下面的文本描述中它说:“只需要做一件事:我们需要告诉admin 认为 Poll 对象有一个管理界面。为此,请在您的 polls 目录中创建一个名为 admin.py 的文件,然后将其编辑为如下所示......【参考方案3】:您必须手动创建文件,因为默认情况下禁用 django 管理员。
关于在 admin.py 中添加什么的说明是 here。
【讨论】:
docs.djangoproject.com/en/1.4/ref/contrib/admin/… 了解更多具体说明和最新文档以上是关于新的 django 应用程序中没有 admin.py 文件的主要内容,如果未能解决你的问题,请参考以下文章
第一天django快速开发——环境部署表单数据库操作模板文件学习