为什么django激活管理界面,运行服务器后,无法访问
出现情况
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the URLconf defined in HelloWorld.urls, Django tried these URL patterns, in this order:
admin/
check/
The empty path didn’t match any of these.
You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
运行结果报错内容:
访问 http://127.0.0.1:8000/admin ,这是默认的管理链接
不知道你这个问题是否已经解决, 如果还没有解决的话:可能原因:网页已从网站上删除 / 用户输入的URL地址不正确 / 页面已移动,重定向配置不正确 / 服务器出现故障
分析原因:查看dailyfresh文件下的urls.py,能找到为路径为空的path,但页面又提示空路径不匹配任何一个。再看cmd运行窗口:
[22/Apr/2021 00:40:02] "GET / HTTP/1.1" 404 3027
Not Found: /favicon.ico
解决方法:找一个图片格式为ico,命名成: favicon.ico,拷贝到django下的./contrib/admin/static/admin/img/,操作完成后重新执行python manage.py runserver 0.0.0.0:8000,打开浏览器,(参考http://www.voidcn.com/article/p-suwghcua-bqm.html),依然不行,但命令行提示的是:
Not Found: /
先绕过这个问题,根据提示,改变访问的文档:
可以看到CMD命令行也发生变化:
C:\Users\Facek\Documents\github-learning\dailyfresh-B2C\dailyfresh>python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 20 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, goods, order, sessions, user.
Run 'python manage.py migrate' to apply them.
April 22, 2021 - 00:31:05
Django version 2.1.7, using settings 'dailyfresh.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /
[22/Apr/2021 00:40:02] "GET / HTTP/1.1" 404 3027
Not Found: /favicon.ico
[22/Apr/2021 00:40:02] "GET /favicon.ico HTTP/1.1" 404 3078
[22/Apr/2021 00:42:53] "GET /admin/ HTTP/1.1" 302 0
[22/Apr/2021 00:42:56] "GET /admin/login/?next=/admin/ HTTP/1.1" 200 1821
[22/Apr/2021 00:42:56] "GET /static/admin/css/base.css HTTP/1.1" 200 16225
[22/Apr/2021 00:42:56] "GET /static/admin/css/login.css HTTP/1.1" 200 1203
[22/Apr/2021 00:42:56] "GET /static/admin/css/responsive.css HTTP/1.1" 200 17976
[22/Apr/2021 00:42:56] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[22/Apr/2021 00:42:56] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[22/Apr/2021 00:42:56] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
解决方案:
在settings.py中找到INSTALLED_APPS,确认其中是否包含了'django.contrib.admin'。如果没有,需要手动添加该行代码:
INSTALLED_APPS = [
# ...
'django.contrib.admin',
# ...
]
在urls.py中找到urlpatterns,确认其中是否已经包含了管理界面的路由:
from django.contrib import admin
from django.urls import path
urlpatterns = [
# ...
path('admin/', admin.site.urls),
# ...
]
如果没有,需要手动添加该行代码。
运行以下命令创建超级用户:
python manage.py createsuperuser
按照提示输入用户名、电子邮件和密码等信息。
在命令行中进入当前项目的根目录,输入以下命令:
python manage.py runserver
如果已经启动了服务器,需要检查端口号和IP地址是否正确。
在命令行中输入以下命令:
python manage.py flush
python manage.py runserver
这会删除数据库中的所有数据,并重新启动服务器。如果还未解决问题,可以考虑检查Django版本、Python版本、数据库设置等情况。
如果以上方法都不能解决问题,可能需要对具体的代码和环境进行排查,或者请教其他专家。