Django 无法使用 uwsgi 重新编辑某些 url

Django cannot redict some of urls with uwsgi

在 project/urls.py 中,这是根 urls.py .

urlpatterns = [
    url(r'^webadmin/', include('webadmin.urls')), # With templates and plain text for returning.
    url(r'^api/', include('restAPI.urls')), # Without templates. Only plain text for returning.
]

在webadmin/urls.py

urlpatterns = [
    url(r'^api/login/', views.login, name='login'),
    url(r'^api/search/', views.search, name='search'),
    url(r'^api/delProject/', views.delProject, name='delProject'),
    url(r'^api/addProject/', views.addProject, name='addProject'),
    url(r'^api/statistics/', views.statistics, name='statistics'),

    url(r'^(?P<action>(users|login|statistics|projects))/', views.index, name='webadmin'),
    url(r'^', views.index, name='index'),
]

restAPI 中的所有 url 都正常工作。

但在webadmin中,所有url都被重定向到views.index

例如,当我转到http://example.com/webadmin/api/login/时,它会显示http://example.com/webadmin/

如果我删除最后一行 url(r'^', views.index, name='index'),则没有任何变化。

如果我使用python3 manage.py runserver,结果是正确的。

我的 uwsgi ini 是:

[uwsgi]
chdir=/var/www/project
wsgi-file=/var/www/project/project/wsgi.py
static-map = /static/=/var/www/project/static/
max-requests=5000
daemonize=/var/log/uwsgi/project.log
http = :8000
vacuum = true
master = true

您需要添加行尾锚点$

url(r'^$', views.index, name='index'),