如何在 Django 1.7 中自定义管理页面?

Posted

技术标签:

【中文标题】如何在 Django 1.7 中自定义管理页面?【英文标题】:How do I customize the admin page in Django 1.7? 【发布时间】:2014-11-18 11:58:24 【问题描述】:

我一直在学习 Django 文档,并且偶然发现了该部分中的一个障碍:https://docs.djangoproject.com/en/1.7/intro/tutorial02/#customize-the-admin-look-and-feel

我的文件排列如下:

mysite/

    mysite/

        __pycache__/
            ...

        __init__.py
        settings.py
        urls.py
        wsgi.py

    polls/

        __pycache__/
            ...

        migrations/
            ...

        __init__.py
        admin.py
        models.py
        tests.py
        views.py

    templates/
        admin/
            base_site.html

    db.sqlite3
    manage.py

我已将文件 base_site.html 中的文本修改为“投票应用程序”,但管理站点继续显示“Django 管理”。

PS:我用的是Win8

【问题讨论】:

Linux 下的 python 2.7.8、django 1.7 对我来说同样的问题...刚开始使用 python 和 djangoing,不是最佳启动条件...在另一个问题中找到了解决方案 Django 1.7 - updating base_site.html not working的可能重复 是的,完成了任务! :) 非常感谢。 【参考方案1】:

我和你在同一个地方,就在项目根目录下。确保在 INSTALLED_APPS 中 polls 应用之前定义了 django.contrib.admin

【讨论】:

是的! code TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')] INSTALLED_APPS = ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib .sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls', ) code【参考方案2】:

您需要将该模板文件夹放在项目目录中,而不是与当前项目处于同一级别。

所以把它放在 mysite/templates 下,你应该很接近了。

编辑:实际上,将模板文件夹放在您的应用程序下,使其成为 Polls/templates

【讨论】:

不,将它放在应用程序目录中也无济于事! :(

以上是关于如何在 Django 1.7 中自定义管理页面?的主要内容,如果未能解决你的问题,请参考以下文章

根据值在 Admin 中自定义 Django 表单字段

如何在 django 中自定义找不到页面(404)?

在 Django 中自定义管理表单,同时使用自动发现

如何在 django admin 中自定义多对多内联模型

如何在 Django 中自定义单选按钮

如何在 django 1.5 中自定义用户模型