尝试在虚拟共享服务器上部署我的Django应用程序。所有工作都按预期工作,直到我尝试登录管理应用程序。我认为它可能与服务器处理帖子的方式有关(与Flask有类似的问题)。该设置在我的本地机器上运行良好。
我可以进入管理员登录页面,但是当我提交我的凭据时,我收到404错误。在调试模式下,响应为:
Page not found (404)
Request Method: POST
Request URL: https://lindcraft.williesworkshop.com/admin/login/
Raised by: django.contrib.admin.sites.login
Using the URLconf defined in lindcraft.urls, Django tried these URL patterns, in this order:
admin/
^[P|p]roducts?/(?P<prod_id>\d{0,3})/$ [name='product']
^[P|p]rices?/?$ [name='prices']
^[P|p]arking [name='parkingIntro']
^[D|d]isplay [name='displayIntro']
^[C|c]ontact [name='contact']
^[A|a]bout [name='about']
^$ [name='index']
The current path, login/, didn't match any of these.
项目urls.py是:
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('www.urls')),]
Django似乎正在寻找“login /”而不是“admin /”,即使“请求URL”是“... / admin / login /”管理部分也是以某种方式进行了条带化。
有趣的是,django.contrib.admin.sites.login似乎引发了异常,好像请求实际上已将其发送给管理员。
在我看来,相同的URL适用于GET,但不适用于POST。
任何人都可以提供任何见解吗?
FWIW,我的托管服务(a2hosing)使用称为乘客的东西来管理python请求。可能也可能没有使用ngnix服务器。
TIA!