【问题标题】:Django app_label with spaces - leads to 404 error in admin带有空格的 Django app_label - 导致管理员出现 404 错误
【发布时间】:2013-07-01 10:50:45
【问题描述】:

我一直在尝试自定义显示的应用程序的名称,但在 app_label 中使用空格时遇到了问题,当我尝试访问该 url 时会导致 404 错误页面。例如,

app_label = 'Occupational Therapy'

导致文本按我的意图显示,但在管理站点中访问该 url 会给出以下内容,尽管各个模型的页面显示正确。示例:url/admin/Occupational%20Therapy/ 返回:

 Page not found (404)
 Request Method: GET 
 Request URL: url/admin/Occupational%20Therapy/ 

但 url/admin/Occupational%20Therapy/model 正确显示所有内容。

我试过用这个:

app_label = 'occupational_therapy'

因为 django 文档似乎声明它将被大写并自动去除下划线,但下划线仍然存在,因为 Occupational_Therapy 是显示的内容。在这种情况下,网址可以完美运行,因此如果有办法去除下划线,那将真正解决问题。否则,我假设我需要编辑 urls.py 文件?

【问题讨论】:

  • 管理员不是你的应用。它应该只用于受信任的管理员,您应该为其他所有内容编写视图。

标签: django django-admin


【解决方案1】:

app_label 用于指示模型属于哪个 Django 应用程序,而不是更改 URL。如果您的应用程序被命名为polls,您可以将模型放入polls\models\voting.pypolls\models\results.py。然后模型需要:

app_label = 'polls'

我不知道如何更改管理站点中应用程序的 URL。应使用urls.py 在网站的其他部分更改它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多