【问题标题】:django admin page wont showdjango 管理页面不会显示
【发布时间】:2019-12-09 00:51:03
【问题描述】:

我看到了几个与此主题相关的问题,但没有一个对我有用 我正在使用 ubuntu 并使用 firefox 浏览器运行 Django 3 和 python 3

当我运行“python3 manage.py runserver”时

我的主页在 127.0.0.1:8000 加载 但是当我在浏览器中添加 /admin 时

127.0.0.1:8000/管理员

它仍然停留在主页而不是管理页面

我注意到正在运行的服务器上我得到了

2019 年 12 月 9 日 - 00:40:46 Django 版本 1.11.11,使用设置“mysite.settings” 在http://127.0.0.1:8000/ 启动开发服务器 使用 CONTROL-C 退出服务器。 " “当我添加 /admin 时,会出现以下行”

[09/Dec/2019 00:46:05]“GET /admin HTTP/1.1”200 3

但我仍然没有看到管理页面

请询问,我可以分享

“settings.py”等和任何其他信息 更新

我的“主”文件夹有一个 urls.py 文件,如下所示:

from django.conf.urls import url
from . import views

app_name = "main"

urlpatterns = [
    url(r'^', views.homepage, name="homepage"),
]

我的“mysite/mysite”文件夹有一个 urls.py 文件,如下所示:

 from django.conf.urls import url, include
from django.contrib import admin


urlpatterns = [
    url(r'^', include('main.urls')),
    url(r'^admin/', admin.site.urls),
]

感谢@chrisbyte 的评论,如果我注释掉了

#url(r'^', include('main.urls'))

然后我的管理页面显示出来,但是我没有得到我在“主”页面上所做的任何事情。

【问题讨论】:

  • 您好!你能分享你的主要 urls.py 吗?只是为了验证它是否设置正确。它需要导入from django.contrib import admin 并在您的网址模式中包含类似url(r'^admin/', admin.site.urls), 的内容,然后再包含您的公共网址,这看起来像url(r'^', include('your.public.urls')),
  • 这是我的“主”文件夹中的 urls.py from django.conf.urls import url from .导入视图 app_name = "main" urlpatterns = [ url(r'^', views.homepage, name="homepage"), ]
  • 我的“mysite”应用程序有这样的 urls.py from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^', include('main. urls')), url(r'^admin/', admin.site.urls), ]
  • 如果您可以编辑原始问题并添加您提到的 url 文件的内容,那将非常有帮助。谢谢!
  • 您好,感谢您的帮助,是的,当我注释掉除管理员之外的所有模式时,我得到了管理页面:)。但我不确定这意味着什么?我正在关注 youtube 上 sentdex 的“Django Web 开发”教程,也许我应该回去看看我是否犯了错误(我还使用了比教程中更高版本的 django)。再次感谢您的帮助,我现在要睡觉了,但我明天再检查一次,再次感谢您的帮助,希望这将很快得到解决

标签: python django


【解决方案1】:

那么在格式化之后,你的 urls.py 看起来像这样吗?

from django.conf.urls import url, include
from django.contrib import admin 

urlpatterns = [ 
    url(r'^', include('main.urls')), 
    url(r'^admin/', admin.site.urls), 
]

如果像这样将admin url 路由放在main.urls 路由之前会发生什么?

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('main.urls')), 
]

我相信admin 部分应该放在第一位,这样它就不会被main.urls 覆盖

【讨论】:

  • 您好,请注意您在上面评论的代码不是我的“mysite/main”urls.py 这是网址。 py 在我的“mysite/mysite”文件夹中? ps:我尝试交换这两行以将 admin 放在首位,但这没有帮助。
【解决方案2】:

主要问题是由于我没有在以 python 3 作为主要 python 的环境中工作,它实际上下载了早期版本的 Django。这更令人困惑,因为我的“IDLE”指向 python 3,当我在 Idle 中询问 Django 版本时,它告诉我版本 3,但是当我在工作区的 shell 中询问 Django 版本时,它告诉我实际版本是 1 .

我曾尝试将使用“路径”语法的教程改编为我上面的代码,这在早期版本的 Django 中不存在。

我遵循了另一个针对 django 早期版本的教程,它运行良好。

吸取的教训是使用带有正确版本的 python 的 conda 环境。

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 2012-04-29
    • 2023-03-04
    • 1970-01-01
    • 2013-07-09
    • 2017-06-21
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    相关资源
    最近更新 更多